Sto spostando un progetto da SubSonic a NHibernate e sto usando Fluent NHibernate per eseguire tutte le nostre mappature. Il nostro schema db è abbastanza semplice e la maggior parte dei nostri casi sembra essere ben illustrata da diversi post del blog e codice di esempio disponibile.configurare Fluent NHibernate mapping per consentire solo INSERT?
Una cosa che non riesco a capire è tuttavia la possibilità di mappare una colonna in modo tale che il suo valore sia permesso solo di essere impostato sull'INSERTO iniziale dei dati. È un valore generato sul nostro livello di app e, una volta inserito, non vogliamo permettere che venga aggiornato ulteriormente.
ho provato l'ovvio (ma sbagliato)
Map(x => Foo).ReadOnly()
Quale sarebbe la catena funzione appropriata per realizzare quello che sto cercando?
Questo è corretto. Inserisci e aggiorna entrambi come predefiniti su true, quindi affermando che la tua proprietà è "non aggiornabile" implica che sia ancora inseribile. Se si voleva solo l'aggiornamento, si farebbe 'Not.Insert()'; e se non si voleva né, si farebbe 'ReadOnly()'. –
Cosa succede se provo ad aggiornare quella proprietà? Ho pensato che sarebbe stata lanciata un'eccezione, ma ho fatto alcuni test e mi sono felicemente aggiornato anche se l'ho impostato su .Not.Update(). Cosa mi manca? – Muxa