实体SQL匿名类型?

问题描述:

我有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? –

随着投影,它可以使查询只返回一些从一个列表,或者返回来自多个表连接在一起的选定列。投影与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中使用查询字符串? –