首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有WHERE条件的LINQ连接

带有WHERE条件的LINQ连接
EN

Stack Overflow用户
提问于 2016-07-14 03:57:50
回答 0查看 509关注 0票数 0

我在创建带有lambda表达式的LINQ查询时遇到问题。我需要连接两个表并设置一些条件。我有两个表MSR和BOMDetail。

MSR有以下列: MSRID,PN,Buyer,-> EditDate。BomDetail有->、PN、AltQty、BomDetail、EditDate这几个列。

我需要把这个查询写进LINQ。

代码语言:javascript
复制
SELECT MSR.PN, Buyer, MSR.EditDate, MSR.Plant FROM MSR 
JOIN BomDetail bd ON MSR.PN = bd.PN AND MSR.Plant = bd.Plant
WHERE LEN(ISNULL(bd.AltQty,''))>0

我需要使2个条件PN必须等于表格和工厂的。我已经在asp.net MVC中实现了结果ViewModel。

代码语言:javascript
复制
public class MSRViewModel
{
    public string PN { get; set; }
    public string Buyer { get; set; }
    public string Plant { get; set; }
    public DateTime EditDate { get; set; }

}

这是我的示例,它工作得很好,但我不知道必须在哪里编写bd.Plant = MSR.Plant的第二个条件。

代码语言:javascript
复制
var data = DbContext.BomDetails.Where(x => !string.IsNullOrEmpty(x.AltQty))
                        .Join(DbContext.MSRs
                        , bd => bd.PN,
                        msr => msr.PN,
                        (bd, msr) => new MSRViewModel
                        {
                            PN = msr.PN,
                            Buyer = msr.Buyer,
                            Plant = msr.Plant,
                            EditDate = msr.EditDate
                        }).ToList().AsEnumerable();

谢谢。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38360638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档