我正在考慮使用EF作爲項目,我將在未來幾周內開始。使用實體框架映射兩個以上的表
我在以前創建的數據庫中有三個表。 (請參閱附圖)
當創建CompanyNotice記錄時,必須將至少一個位置(從位置表中)添加到CompanyNoticeLocations表中。
例如
**CompanyNotice**
ID CompanyID Date Heading Text .....
2 9 2011-11-21 10:17:29.573 Lorem Ipsum 1 1 1
**CompanyNoticeLocations**
CompanyNoticeLocationsID CompanyNoticeID LocationID
1 2 4
2 2 5
3 2 1
主要問題: 誰能告訴我,如果我可以使用EF創建一個實體,稱爲:CompanyNoticesWithLocations剛剛返回:
- 標題
- 文本
- 名單LocationNames
子問題:我曾嘗試沒有多表實體映射與LINQ這樣做,我不能得到那個工作之一:
using (var context = new ALEntities())
{
var query = from c in context.CompanyNotices.Include("Locations")
select new
{
c.CompanyNoticeHeading,
c.CompanyNoticeText,
(from l in c.CompanyNoticesLocations select l.Location.LocationName)
};
ASPxGridView1.DataSource = query;
ASPxGridView1.DataBind();
}
不過,我得到一個錯誤:
Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.
如果你做.toList到內部SELECT子句?我不知道該集合的屬性名稱是什麼... –
我仍然收到無效的匿名類型錯誤。我也嘗試了內部select的LINQ .Aggregate(),並且我得到了同樣的錯誤信息。 – Seany84