0

我有 3 个实体

我的实体 我想将tblConditionBusinessAreas扁平化为一个对象。我想要的是Category.ID, Category.Category, BusinessArea.ID, BusinessArea AreaName

我知道这可以通过使用 Lambda 创建匿名类型来完成,但我对 Lampda 或 LINQ 相对不熟练。

忘了提我需要通过第一张桌子到达两张桌子。

我原来的电话是这样的。

myConditionTemplate = EE.ConditionTemplates.Where(c => c.TemplateCode == TextBoxSearchConditionCode.Text).FirstOrDefault();
4

1 回答 1

1

这是官方文档:http: //msdn.microsoft.com/en-us/library/vstudio/bb384105.aspx

基本上在您的选择部分中使用没有类名的新关键字,例如:

select new { Category.ID, Category.Category, BusinessArea.ID, BusinessArea.AreaName }

该网页仅以查询形式显示了使用 Linq 的示例,但以方法形式进行:

var results = db.GetStuff().Select(x => new { x.ID, x.Name });

Ack,这可能不是很清楚。我刚刚在How to do a join in linq to sql with method syntax?. 这是一个不同的问题,但答案的示例向您展示了如何为连接的可枚举集执行lamba。

更新:既然你更新了你的问题,看看这是否有帮助:

var results = myConditionTemplate.Select(x => new { CategoryID = x.tblCondition.ID, Category = x.tblCondition.Category, BusinessAreaID = x.tblCondition.BusinessArea.ID, AreaName = x.tblCondition.BusinessArea.AreaName});
于 2013-07-26T19:39:50.550 回答