.net 4.0 是否有一种内置的方法来避免实体框架中的神奇字符串';s Include()?

.net 4.0 是否有一种内置的方法来避免实体框架中的神奇字符串';s Include()?,.net-4.0,entity-framework-4,maintainability,magic-string,.net 4.0,Entity Framework 4,Maintainability,Magic String,可能重复: 好的,我有一个实体框架查询,我使用Include告诉它我想要加载一个相关的对象: var employees=\u实体.employees.Include(“经理”).ToList() 通过使用include,我避免了为每个员工的经理记录生成查询(而是在查询中使用友好的联接,数据库再也不用担心了) 但是使用神奇的字符串“Manager”是令人不安的,特别是在使用了据说更原始、更快速、更脏的Linq2SQL之后。从编码的角度来看,它就像一把上了膛的枪,准备抛出一个应该在编译时捕获的运

可能重复:

好的,我有一个实体框架查询,我使用Include告诉它我想要加载一个相关的对象:

var employees=\u实体.employees.Include(“经理”).ToList()

通过使用include,我避免了为每个员工的经理记录生成查询(而是在查询中使用友好的联接,数据库再也不用担心了)

但是使用神奇的字符串“Manager”是令人不安的,特别是在使用了据说更原始、更快速、更脏的Linq2SQL之后。从编码的角度来看,它就像一把上了膛的枪,准备抛出一个应该在编译时捕获的运行时异常。这也大大阻碍了重构


是否有任何内置属性或方法可以绕过此问题?例如,我将
Manager.EntityKeyPropertyName
视为一个静态字符串属性,但这似乎不是我想要的。我不想在某个地方手动添加一个硬编码的常量列表,但它比裸intellisense盲魔术字符串更好。

不,EF 4中没有任何内置的强类型Include版本(我认为它在EF Features和CTP5中)。我正在使用,我很满意。

是的,这正是我需要的,没有额外的维护。