Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 具有条件左连接的LINQ_Vb.net_Linq_Entity Framework - Fatal编程技术网

Vb.net 具有条件左连接的LINQ

Vb.net 具有条件左连接的LINQ,vb.net,linq,entity-framework,Vb.net,Linq,Entity Framework,嗨,我是linq的新手, 我尝试使用LinQ进行左连接查询。这是我的疑问: SELECT B.[ID] ,A.[GroupID] ,B.[Year] ,B.[Month] ,B.[Col1] ,B.[Col2] ,B.[Col3] ,B.[Col4] ,B.[Col5] FROM MsGroups A LEFT JOIN MsCKPNS B on A.GroupId = B.GroupId and

嗨,我是linq的新手, 我尝试使用LinQ进行左连接查询。这是我的疑问:

SELECT B.[ID]
      ,A.[GroupID]
      ,B.[Year]
      ,B.[Month]
      ,B.[Col1]
      ,B.[Col2]
      ,B.[Col3]
      ,B.[Col4]
      ,B.[Col5] FROM MsGroups A
LEFT JOIN MsCKPNS B on 
A.GroupId = B.GroupId and B.Year = 2014 and B.Month = 3
以下是我的linq查询:

Dim msckpn = (From g In db.MsGroup
                    Group Join c In db.MsCKPNs
                    On g.GroupId Equals c.GroupID Into
                    Group From a In Group.DefaultIfEmpty() _
                    Where a.Month = Month And a.Year = Year
                     Select New MsCKPN With {
                         .ID = Nothing,
                         .GroupID = g.GroupId,
                         .Month = Month,
                         .Year = Year,
                         .Col1 = a.Col1,
                         .Col2 = a.Col2,
                         .Col3 = a.Col3,
                         .Col4 = a.Col4,
                         .Col5 = a.Col5
                    }).ToList
但是,它显示了错误:无法在LINQ to Entities查询中构造实体或复杂类型“MvcMISD.MsCKPN”

我应该做什么来修复该查询


谢谢

您不能创建这样的实体。原因是,您不应该能够创建未链接到数据库中的一个或多个记录的实体。答案下面的注释中给出了对此的解释:您可以创建一个包含所需字段的匿名类型

代码的其他部分看起来有点奇怪,但我对VB中的LINQ不太熟悉,因此我可能会误解您的查询。

可能与