2010-06-08 128 views
0

我在我的EDMX的实体,我已经在部分类的几个领域延伸,就像这样:如何填充您在实体框架中扩展的实体?

public partial class Employee 
{ 
    public string JobName {get;set;} 
} 

这些属性仅用于显示。在上面的例子中说实体有一个JobTypeID属性。我希望JobName被填充w /属于该JobTypeID的名称。

是否有无论如何查询EF中的员工记录,包括JobName属性的值,而不是使用select()指定每个字段的值?

我想问的原因是,有很多雇员实体领域,所以我想能够采取的类似优势:

ctx.Employees.Where(e=>e.EmployeeID==employeeID).Single() 

......添加在作业名莫名其妙填写

这可能吗?

回答

3

如何:public string JobName { get { return this.JobType.Name; } }

+0

好吧,如果我“列入” JobType表但宁可失败作业名物业我的点工作添加。我的想法是不拉下整个行,只是为了从它们中获得单个字段。 – user169867 2010-06-08 19:27:48

+0

我想了一下,并且我不认为EF直接支持列选择(而不是投影时的优化)。它是一个*实体*框架。 – 2010-06-08 20:34:49

0

不是一个解决方案,而是一种不同的方法来试图实现...
为什么不使用EF的力量!使用“包含”从相关表中加载基于关系的记录?

你也可以在一个地方做到这一点,比如说,如果你想为每个员工记录创建一个JobType记录,那么你可以考虑使用一个存储库模式并为你的实体添加所有可能的相互依赖的包含!

的几点思考进一步什么我提到的,不完全是因为我说的,但...
http://mosesofegypt.net/post/Introducing-DataLoadOptions-for-Entity-Framework-ObjectContext.aspx