Zajęło mi trochę czasu, aby znaleźć odpowiedź na to, więc pomyślałem, że podzielę się miłością.Używanie mapowania NHibernate przez kod: Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli "DietUser", gdy IDENTITY_INSERT jest ustawione na WYŁ.
Podczas korzystania z nowego mapowania NHibernate przez kod za pomocą SQL Server nie mogę zapisać obiektu. Podczas zapisywania podmiot A System.Data.SqlClient.SqlException jest wyrzucane z następującym komunikatem (minus nazwę tabeli):
„Nie można wstawić wyraźną wartość dla kolumny tożsamości w tabeli«DietUser»kiedy IDENTITY_INSERT jest ustawiony w pozycji OFF . "
Moja tabela wykorzystuje identyfikator tożsamości i podmiotu & mapowania wyglądać następująco:
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);
}
}
wiem jak bym na mapie za pomocą odwzorowania XML ale chcę użyć wbudowanej mapowania przez kod, jeśli w ogóle możliwe.
Czy używasz identyfikatora GUID jako kolumny tożsamości? –
Nie, tylko standardowa kolumna tożsamości, którą zobaczysz w większości tabel serwera sql. – bressain