Entity framework 如何首先使用代码映射代理键
我有带主键的旧表。这些表还具有用于将一个表与另一个表关联的代理键。我想映射Membership.User表(使用Guid PK),但有一个属性用户名,该用户名保存代理项键,代理项键将其与DepoMembers表关联。DepoMembers有一个数字PK,但有一个代理密钥用户名。用户名保证是唯一的 在Linq2SQL中-为了在设计器中关联这些表-我们添加了一个关联,其中User.UserName链接到DepoMembers.UserName-并将关联的多重性设置为1:1。然后将导航名称修改为单数 如果我们将DepoMembers作为关系的主要端,那么如果Membership.User不存在(例如,用户不管理应用程序站点,但存在于DepoMembers中),则导航属性User将为Null 如何在代码中首先做到这一点 到目前为止,我提出的唯一替代方法是创建一个属性DepoMembers.User,它使用UserName属性使用datacontext检索用户Entity framework 如何首先使用代码映射代理键,entity-framework,code-first,Entity Framework,Code First,我有带主键的旧表。这些表还具有用于将一个表与另一个表关联的代理键。我想映射Membership.User表(使用Guid PK),但有一个属性用户名,该用户名保存代理项键,代理项键将其与DepoMembers表关联。DepoMembers有一个数字PK,但有一个代理密钥用户名。用户名保证是唯一的 在Linq2SQL中-为了在设计器中关联这些表-我们添加了一个关联,其中User.UserName链接到DepoMembers.UserName-并将关联的多重性设置为1:1。然后将导航名称修改为单数
Ren我认为您不能,因为entity framework不支持非主键列的导航属性。您真正拥有的另一个选择是让Entity Framework将代理项键视为主键,并且只让Guid值成为同样唯一的常规列。我不确定我是否推荐这种方法……不幸的是,EF可能不是您使用的最佳选择。