2015-10-31 230 views
0

我有2個表的數據庫:實體SQL匿名類型?

  1. 個人:ID(PK),名稱,代碼(FK),生日
  2. 社會:代碼(PK),地址

當我將ADO.NET實體數據模型名稱模型添加到我的項目中。該Model.Context.tt只有交友和社交Dbset <>,所以我只能通過使用查詢選擇2個表:

string sql = "SELECT VALUE p FROM SqlEntities.Personals AS p" 

SqlEntities是我的實體名稱,所以我想的是如何使列在表成爲Dbset <>,也許我不明白很多,但我怎麼可以使用匿名類型,如:

stringsql = "SELECT p.ID, p.Name FROM SqlEntities.Personals AS p" 

Model.Context.tt

+0

爲什麼呢?因爲在Enitty框架中的實體框架標籤 –

+0

有LINQ和實體SQL。所以我標記了它,如果你知道我的文章的解決方案,你可以回答。謝謝 ! –

+1

你知道Dbset的用途嗎?你爲什麼不使用LINQ? –

回答

0

隨着投影,它可以使查詢只返回一些從一個列表,或者返回來自多個表連接在一起的選定列。投影與Select()方法來完成,並支持匿名類型:

db.Personals.Select(x => new { ID = x.ID, Name = x.Name }); 
+0

這是工作,非常感謝。但是你發佈的代碼屬於LINQ或實體SQL?對不起,我對此有不瞭解。 –

+0

不客氣。 Select方法屬於LINQ,並且在所有LINQ-to-something技術(包括LINQ-to-SQL)中。 –

+0

感謝您的解釋,但我想知道是否有任何方式選擇類似的列,但在ESQL中使用查詢字符串? –