このコードを使用しようとすると:
var model = new MasterEntities();
var customer = new Customers();
customer.Sessionid = 25641;
model.Customers.Add(customer);
model.SaveChanges();
私は得る:
{"列 'Sessionid'、テーブル 'master.dbo.Column' に値 NULL を挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。"}
列「Sessionid」は実際には主キーであり、次のように [KEY] でマークされています。
public class Customers
{
[Key]
public long Sessionid { get; set; }
public long? Pers { get; set; }
}
したがって、この質問によると、プロパティが でマークされている場合[KEY]
、データベースが値を割り当てることを期待しているため、EF は自分の Sessionid 宣言を無視するようです。
では、どうすればこれを解決できますか?削除する[KEY]
と、"entity type has no key defined"
例外が発生します...