问题描述
我想使用主数据库 prodid 检查添加到购物车 prodid。
// here I get an error "data type issue" - that's why I convert to int
var db1prodid = Convert.ToInt32(db1.prod.Select(x => x.prodid).ToList());
var gg = Convert.ToInt32(db2.prod.Select(x => x.prodid).ToList().ToString());
var checkprodid = db2.prod.Where(x => gg == db1prodid ).ToList();
解决方法
如果你想转换, 更改您的代码,如下所示:
var db1prodid = db1.prod.Select(x =>(int)x.prodid).ToList();
//或
var db1prodid = db1.prod.Select(x =>Convert.ToInt32(x.prodid)).ToList();
无论如何,要比较两个列表并返回不匹配的项目,您可以执行以下操作
var db1prodid = db1.prod.Select(x => Convert.ToInt32(x.prodid)).ToList();
var checkprodid = db2.prod.Where(x => !db1prodid.Contains(x.prodid)).ToList();
它将返回 db2.prod
中不存在于 db1.prod
中的所有行
同理,
var db2prodid = db2.prod.Select(x => Convert.ToInt32(x.prodid)).ToList();
var checkprodid = db1.prod.Where(x => !db1prodid.Contains(x.prodid)).ToList();
它将返回 db1.prod
中不存在于 db2.prod
中的所有行