2010-06-08 177 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