我有两个类EF代码第一:主键相同外键
public class Product
{
public Guid Id { get; set; }
public string ProductDetails { get; set; }
}
public class SpecialProductDetails
{
public Guid Product_Id { get; set; } // PK and FK to Product class
public string SpecialName { get; set; }
public string SpecialDescription { get; set; }
public virtual Product Product { get; set; }
}
SpecialProductDetails
映射1-1 Product
类是可选的。它共享相同的PrimaryKey和ForeignKey。
用流利的API我正在这样的映射这一关系(内SpecialProductDetails
)
public SpecialProductDetails()
{
HasKey(p => p.Product_Id);
HasRequired(p => p.Product).WithMany().HasForeignKey(p => p.Product_Id).WillCascadeDelete(true);
}
这使我试图生成数据库时,此错误
\ tSystem.Data.Entity.Edm.EdmAssociationEnd ::多重性在'SpecialProductDetails_Product_Source'关系中的'SpecialProductDetails_Product_Source'角色中无效。由于依赖角色是指关键属性,所以依赖角色的多重性的上界必须是'1'。
如何在EF代码优先上将一列设置为PK和FK?
看看这篇文章:http://blog.bennymichielsen.be/2011/06/02/entity-framework-4-1-one-to-one-mapping/ – MarcinJuraszek 2013-02-25 07:19:41
@lc如果我使用.WithOptional(),我怎么才能指定FK? – Catalin 2013-02-25 07:22:17