繁体   English   中英

linq连接代码不起作用

[英]linq join code doesn't work

我有2个记录tblMaterials记录tblMaterialTenderGroups
但是当我将数据获取到gridview它向我显示了两条记录 ,并且gridview不起作用

    public List<tblMaterial> ShowPresentMaterialInGroup()
    {
        List<tblMaterial> q = (from i in dbconnect.tblMaterials.AsEnumerable()
                               join b in dbconnect.tblMaterialTenderGroups on i.materialId equals  b.materialId
                               where b.MaterialGroupId == _materialGroupId
                               select new tblMaterial()
                               {
                                   existAmout = i.existAmout,
                                   materialId = i.materialId,
                                   name = i.name,
                                   needAmount = i.needAmount,
                                   requestAmount = i.requestAmount,
                                   unit = i.unit,
                                   requestId = i.requestId
                               }).ToList();
        return q;
    } 

你可以试试这个吗

List<tblMaterial> q = from i in dbconnect.tblMaterials
            join b in dbconnect.tblMaterialTenderGroups on i.materialId equals  b.materialId 
            select new { existAmout = i.existAmout,
                         materialId = i.materialId,
                         name = i.name,
                         needAmount = i.needAmount,
                         requestAmount = i.requestAmount,
                         unit = i.unit,
                         requestId = i.requestId}.ToList();

可能正在使用返回两个记录。
在这里读东西

使用AsEnumerable将中断查询,并将“外部”作为linq-to-objects而不是Linq-to-SQL。 实际上,您正在为两个表运行“ select * from ...”,然后进行联接,where子句过滤器,排序和投影客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM