これは簡単な設定エラーだと私は確信していますが、私の経験の欠如はそれを修正することを禁じています。基本的には、エンティティフレームワークを使用してテーブルにEMPLOYEE
を追加したいと思います。Entity FrameworkでSQLサーバーがプライマリキーを生成できないのはなぜですか?
は、ここに私の方法である:
public void createEmployee(CreateEmployeeModel model)
{
EMPLOYEE emp = new EMPLOYEE() {
emp_name = model.Name,
emp_email = model.Email,
emp_cell_phone = model.CellPhone,
emp_adr = model.Address
};
_db.AddToEMPLOYEES(emp);
_db.SaveChanges();
}
私は_db.SaveChanges();
コールに次のエラーを取得する:ユニークなインデックス「R18_SDE_ROWID_UK」のオブジェクト「dbo.EMPLOYEES」には重複するキー行を挿入できません。重複キー値は(0)です。ここで
はEMPLOYEEエンティティのemp_id
列のプロパティである:ここで
StoreGeneratedPattern : Identity
Concurrency Mode : None
Default Value : (None)
Entity Key : True
Name: emp_id
Nullable: False
Type : Int32
は、SQLサーバー上のEmployeesテーブルのためのemp_id
列のプロパティです:
私はわからないんだけどテーブルに従業員が4人いるときに主キーが常に0として生成される理由(0,1,2,3)。
このコードは最初かedmx/DBか?あなたのモデルはどのように見えますか? – BrokenGlass
これはDBの最初のアプローチです。 – ZeroDivide
私は本当に設定問題だと思います。なぜなら、emp_idのプロパティを自動インクリメントに変更しなければならなかったからです。私はそれが間違っている可能性が高いです。 – ZeroDivide