考虑以下示例模型:
尝试1:
Person
到User
的关联。问题:
User
表有一个Person_id
列,没有唯一约束。也就是说,它不是1x1关系,因为许多用户可以引用同一个人。这里肯定有问题尝试2:
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();
}
ReferentialConstraint中的依赖属性映射到存储生成的列。专栏:'Id'
所以我现在没有选择了。我不知道如何在实体框架中实现1x1和1x0..1关系。
我该怎么做?
答案 0 :(得分:1)
第一次尝试无法正常工作,因为当前的EF版本根本不支持Unique键。第二种方法不起作用,因为您的依赖实体不能具有自动生成的密钥= StoreGeneratedPattern
必须设置为None
。