0
考慮下面的示例模型:如何使用Model-First方法在EF4中創建1x0..1關聯?
- 人具有0..1用戶
- 用戶已經1人
嘗試1:
- 我從拖了一個協會到
User
在模型設計器上。 - 我固定的基數滿足我的需求(默認爲1×N個)
- 我從模型生成的DDL
問題:
- 輸出
User
表具有Person_id
柱沒有獨特的限制。也就是說,這不是許多用戶可以引用同一個人的1x1關係。一定有什麼東西錯在這裏
嘗試2:
- 拖從人的關聯用戶的模型設計。
- 固定基數,以滿足我的需求(默認爲1×N個)
- 選擇聯想,並點擊屬性窗口中的
Referential Constraint
按鈕編輯協會 - 選定人員是主要的和用戶是從屬鍵入
- 選擇
Principal Key
是Id和Dependent Property
也成爲ID(我讀的地方,我應該使用這兩種類型相同的密鑰)
問題:
運行此代碼:
using (var context = new Locadora())
{
User user = new User();
user.PasswordHash = "hash";
user.Pessoa = new Person();
user.Pessoa.Nome = "André";
context.Usuários.AddObject(user);
context.SaveChanges();
}
- 的SaveChanges觸發此異常:
在ReferentialConstraint從屬屬性被映射到一個存儲生成的列。專欄:'Id'
所以我現在沒有選擇了。我不知道如何在實體框架中實現1x1和1x0..1的關係。
我該怎麼做?
你今天節省了好幾次。謝謝 – 2011-04-14 21:27:56