Yrl*_*lec 5 c# sql ado.net entity-framework foreign-keys
我正在使用生成的POCO类和实体框架.
为了使代码不那么复杂,我试图从代码中删除所有导航属性,同时仍然在数据库中保留外键约束(导航属性对我们来说弊大于利).
如果我从POCO类中手动删除它,我会收到以下错误
实体类型UserEntity不是当前上下文的模型的一部分
如果我尝试从.edmx文件中删除它们,我会收到以下错误:
错误3错误3015:从第479,562行开始映射片段时出现问题:表StorageContract(OwnerUserID)中的外键约束'fk_StorageContracts_User1'到表User(ID)::映射不足:外键必须映射到某些AssociationSet或EntitySets参与在概念方面的外键关联.
有没有办法从POCO类中删除导航属性而不删除相应的FK?
我知道这已经很旧了,但是,由于仍然没有答案,我想我应该尝试一下:
我仍在 EF 4.0 中工作,但是按照您提到的示例,您有一个 xxxModel.tt。如果您愿意对其进行调整,您可以找到它生成导航属性的位置并将它们更改为简单的自动属性。我有一个类似的项目,我是这样生成它们的:
public List<NavDataX> NavDataXs
{
get; set;
}
Run Code Online (Sandbox Code Playgroud)
现在,它们仍然存在,但在您显式设置它们之前它们为空。这样做,我没有弄乱 EDMX,也没有遇到你提到的两个错误。