如何使用“模型优先”方法在EF4中创建1x0..1关联?

| 考虑以下示例模型: 人有0..1用户 用户有1个人 尝试1: 我在模型设计器上将关联从ѭ0拖动到
User
。 我已固定基数以满足我的需要(默认值为1xN) 我从模型生成了DDL 问题: 输出
User
表具有
Person_id
列,没有唯一约束。也就是说,它不是1x1关系,因为许多用户可以引用同一个人。这里一定有问题 尝试2: 在模型设计器上拖拉了从“人”到“用户”的关联。 修复了可满足我需求的基数(默认为1xN) 选择关联并单击属性窗口上的
Referential Constraint
按钮以编辑关联 选定人员为委托人,用户为依存类型 选择
Principal Key
为Id和ѭ6also也为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关系。 我怎么做?     
已邀请:
第一次尝试无法进行,因为当前EF版本根本不支持唯一键。第二种方法不起作用,因为您的从属实体不能具有自动生成的键=
StoreGeneratedPattern
必须设置为
None
。     

要回复问题请先登录注册