【发布时间】:2015-05-13 15:33:32
【问题描述】:
我可以使用 LINQ 的 Join 和 Lambda 表示法没问题,但我不知道如何添加 where 条件。
var q = query.Join(context.CustomerIds,
x => x.CustomerId,
y => y.CustomerId,
(x, y) => new CustomerLookupResult()
{
dob = x.DateOfBirth.ToString(),
forenames = x.Forenames,
surname = x.Surname,
loyaltyNo = y.Identifier,
customerId = x.CustomerId
});
我要加入的第一个表在其Identifier 列中包含loyaltyNo,但在同一列中还包含其他信息,因此使用第二列IdentifierTypeCode 来允许过滤。
那么我现在如何像在 SQL 中一样添加.Where(x => x.IdentifierTypeCode == "LOYALTY")。将 this 附加到 end 是指新对象。
【问题讨论】:
-
在不知道这两个列表的内容的情况下,类似:
var q = query.Join(context.CustomerIds.Where(x=>x.IdentifierTypeCode=="LOYALTY"), -
当然,就是这样!谢谢你。把它作为答案,我会接受的。
-
我认为在 lamdas msdn.microsoft.com/en-us/library/bb397947.aspx 上使用查询语法编写时加入 LINQ 更容易理解
标签: asp.net-mvc linq entity-framework lambda