c# – .Join()上的LINQ to SQL错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – .Join()上的LINQ to SQL错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1951字,纯文字阅读大概需要3分钟。
内容图文
![c# – .Join()上的LINQ to SQL错误](/upload/InfoBanner/zyjiaocheng/901/8e7c5386e78f4f2f9303a75a5b76d299.jpg)
我正在尝试查询数据库并加入两个表.我从来没有使用过Join()这种方式,我在第二个Join()上遇到错误:
var adjustments = data.Inventory_ARCHIVEs
.Where(i => i.Location == comboBox3.Text &&
upcCodes.Contains(i.UPCCode) &&
(i.AVtime.Value.Date >= dateTimePicker1.Value.Date &&
i.AVtime.Value.Date <= dateTimePicker1.Value.AddDays(1).Date) &&
(i.BVtime.Value.Date >= dateTimePicker1.Value.Date &&
i.BVtime.Value.Date <= dateTimePicker1.Value.AddDays(1).Date))
.GroupBy(i => new { i.UPCCode })
.Select(i => new
{
ID = i.Max(x => x.ID),
i.Key.UPCCode
})
.Join(data.Inventory_ARCHIVEs, a => a.ID,
b => b.ID, (a, b) => new { a, b })
.Join(data.BQItems, x => new { x.a.UPCCode, x.b.Location },
y => new { y.UPC_Code, y.Location }, (x, y) => new
{
ID = x.a.ID,
UPCCode = x.a.UPCCode,
Date = x.b.BVtime.Value.Date,
Description = y.Description,
BVamount = x.b.BVamount,
AVamount = x.b.AVamount,
Difference = x.b.AVamount - x.b.BVamount,
AverageCost = x.b.AverageCost,
ExtCost = (x.b.AVamount - x.b.BVamount) * x.b.AverageCost
});
x.a.UPCCode,x.b.Location,y.UPC_Code,andy.Location是字符串.
这是错误:
The type arguments for method ‘System.Linq.Enumerable.Join<TOuter,TInner,TKey,TResult> (System.Collections.Generic.IEnumerable<TOuter>, System.Collections.Generic.IEnumerable<TInner>, System.Func<TOuter,TKey>, System.Func<TInner,TKey>, System.Func<TOuter,TInner,TResult>)’ cannot be inferred from the usage. Try specifying the type arguments explicitly.
如果我不通过“位置”列包含连接并只使用“UPCCode”,它可以工作,但是当我按列添加第二个连接时,我收到错误
解决方法:
我怀疑这是问题 – 至少有一个问题:
.Join(data.BQItems, x => new { x.a.UPCCode, x.b.Location },
y => new { y.UPC_Code, y.Location },
...)
您正尝试使用两种不同的匿名类型作为键类型加入.他们有不同的属性 – 一个有UPCCode,另一个有UPC_Code.你可能想要:
.Join(data.BQItems, x => new { x.a.UPCCode, x.b.Location },
y => new { UPCCode = y.UPC_Code, y.Location },
...)
或者只是更符合您的属性名称,以便在任何地方使用UPCCode或UPC_Code,而不是混合使用.
内容总结
以上是互联网集市为您收集整理的c# – .Join()上的LINQ to SQL错误全部内容,希望文章能够帮你解决c# – .Join()上的LINQ to SQL错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。