我正在尝试在代码中使用以下LINQ to SQL:
(from s in dc.Accounts
join purchases in dc.Transactions on s.AccID equals purchases.Account into pu
join pop in dc.POPTransactions on new { s.ID, syncNo } equals new {AccId = pop.AccountID, SyncNo = pop.SyncNo } into po
where s.AccID == ID && s.Customer == false
select new AccsandPurchase { acc = s, purchases = pu.ToList(), pop = po.ToList() } ));
该错误发生在第二个连接行(上面整个查询的第三行)上-我曾经拥有它,所以它只是在s.ID和pop.AccountID上连接,并且可以完美地工作,但是现在我引入了另一个连接标准(syncno )出现以下错误:
有任何想法吗?一些注意事项:
1:“变量'syncNo'是long,DB中的值也是如此(bigint)。 db中的值可以为空,因此我也尝试了“long?”作为变量类型
2:AccsandPurchase是我制作的一个自定义类,您可能会猜到
谢谢
最佳答案
尝试指定相同的连接键名称,例如
join pop in dc.POPTransactions on new { Key1 = s.ID, Key2 = syncNo } equals new {Key1 = pop.AccountID, Key2 = pop.SyncNo }
关于c# - LINQ to SQL联接问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5563208/