.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中)。我正在使用,我很满意。是的,这正是我需要的,没有额外的维护。