Entity framework *不*在实体框架中使用导航属性?

Entity framework *不*在实体框架中使用导航属性?,entity-framework,Entity Framework,是否有人知道,对于与外键链接的表,是否可以不使用实体框架的导航属性功能 例如,如果我的客户机表有一个AddressId,我希望该AddressId在我的模型中,我不希望它有一个.Address属性。但到目前为止,我还不知道如何做到这一点。当然,你可以做到。只是设计师帮不了你多少忙。删除导航属性,并为AddressId添加标量属性。它会起作用,但您必须小心在设计器中点击更新模型,因为它可能会试图为您“修复”一些东西。值得习惯编辑EDMX;没有那么糟糕。在设计器中,您可以将导航属性设置为具有私有ge

是否有人知道,对于与外键链接的表,是否可以不使用实体框架的导航属性功能


例如,如果我的客户机表有一个AddressId,我希望该AddressId在我的模型中,我不希望它有一个.Address属性。但到目前为止,我还不知道如何做到这一点。

当然,你可以做到。只是设计师帮不了你多少忙。删除导航属性,并为AddressId添加标量属性。它会起作用,但您必须小心在设计器中点击更新模型,因为它可能会试图为您“修复”一些东西。值得习惯编辑EDMX;没有那么糟糕。

在设计器中,您可以将导航属性设置为具有私有getter/setter。虽然它们仍然存在,但由于EntityFramework(默认情况下)进行延迟加载,所以它实际上不会在运行时从数据库中检索任何数据。下次您从数据库更新模型时,它们不会重生。

您具体在寻找什么?所有早期的实体框架文档都是关于手动编辑XML文件的,因为当时没有设计器。从那以后唯一改变的是三个独立的文件被合并到一个EDMX文件中。有人知道有什么解决方案可以删除/隐藏导航属性并防止通过模型更新进一步恢复它们,或者甚至3年后我需要手动修改模型吗?我不介意手动编辑模型,但它现在非常庞大,使用designer=)更容易、更快@JoAsakura,好吧,您可以先用代码来完成,或者您可以编写一个XML转换将它们从EDMX中删除,并作为构建操作来运行。@Craig Stuntz,thx,我希望构建操作上的转换不是唯一的解决方案=(对于那些通过搜索遇到这种情况的人来说……这是很久以前的事了。较新版本的实体框架对此没有问题:-)你确定吗?因为我也尝试过这样做:我删除了导航属性,只保留了标量属性,但一旦我更新了模型,所有导航属性都将恢复。