Ci ho messo un po 'per trovare una risposta per questo, così ho pensato di condividere l'amore.Utilizzo del mapping NHibernate in base al codice: Impossibile inserire il valore esplicito per la colonna Identity nella tabella "DietUser" quando IDENTITY_INSERT è impostato su OFF
Quando si utilizza la mappatura del nuovo NHibernate per codice con SQL Server Sono in grado di salvare un'entità. Quando si salva un soggetto uno System.Data.SqlClient.SqlException è gettato con il seguente messaggio (meno il nome della tabella):
"Impossibile inserire valore esplicito per la colonna identity nella tabella 'DietUser' quando IDENTITY_INSERT è impostato su OFF ".
Il mio tavolo utilizza un ID identità e l'entità & mapping simile a questa:
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Username { get; set; }
public virtual string Password { get; set; }
public virtual short DailyPoints { get; set; }
}
public class UserMapping : ClassMapping<User>
{
public UserMapping()
{
Id(x => x.Id);
Property(x => x.Name);
Property(x => x.Username);
Property(x => x.Password);
Property(x => x.DailyPoints);
}
}
so come avrei Visualizza la mappa utilizzando il mapping XML ma voglio utilizzare il built-in mapping codice se possibile.
Quindi stai usando il GUID come colonna di identità? –
No, solo la colonna Identity int standard verrà visualizzata nella maggior parte delle tabelle server SQL. – bressain