これに対する答えを見つけるのにしばらく時間がかかったので、私は愛を共有したいと思いました。
SQL ServerでコードによるNHibernateの新しいマッピングを使用すると、エンティティを保存できません。エンティティを保存すると、System.Data.SqlClient.SqlExceptionがスローされ、次のメッセージが表示されます(テーブル名を除く)。
「IDENTITY_INSERTがOFFに設定されている場合、テーブル「DietUser」にID列の明示的な値を挿入できません。」
私のテーブルはIDIDを使用しており、エンティティとマッピングは次のようになります。
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);
}
}
XMLマッピングを使用してこれをマッピングする方法は知っていますが、可能であれば、コードによる組み込みのマッピングを使用したいと思います。