Linq的Bug收集
来源:互联网 发布:js对话框图片 编辑:程序博客网 时间:2024/06/05 10:43
1、Linq的应用过程中,若是一个对DbContext的对象的引用,则会自动产生一个SQL查询,而且此类对象不能和非SQL类型的对象混用,也就是说下列举例不能被正常执行:
DbSet<CouponSupply> couponSupplies = _context.CouponSupplies;List<SupplyTypeResult> supplyTypes = new List<SupplyTypeResult>();supplyTypes.Add(new SupplyTypeResult{ SupplyTypeId = 2, SupplyTypeName = "其他投放方式"});IQueryable<CouponSupplyQueryResult> couponSupplyQueryResults = couponSupplies.Join(supplyTypes, p => p.SupplyTypeId, q => q.SupplyTypeId, (p, q) => new CouponSupplyQueryResult{ CouponSupplyId = p.CouponSupplyId, CouponTypeId = p.CouponTypeId, CouponTypeName = q.CouponTypeName, CouponFaceValue = p.CouponFaceValue, CouponSelfPayMoney = p.CouponSelfPayMoney,});上述代码中couponSupplies会产生一个SQL查询,而supplyTypes则是非SQL查询,属于静态值类型数据,两者混用时,会报下列错误:
Unable to create a constatnt value of type "VME.Models.SupplyTypeResult". Only primitive types or enumeration types are supported in this context.解决该问题可以采用下列方式:
1、先通过couponSupplies.ToList()方法获取List对象,确保需要 Join 的两个对象都是非SQL对象。
2、在通过 Linq 的 Join 方法进行级联获取想要的数据。
具体如下:
DbSet<CouponSupply> couponSupplies = _context.CouponSupplies;List<SupplyTypeResult> supplyTypes = new List<SupplyTypeResult>();supplyTypes.Add(new SupplyTypeResult{ SupplyTypeId = 2, SupplyTypeName = "其他投放方式"});List<CouponSupply> couponSupplys = couponSupplies.ToList();IQueryable<CouponSupplyQueryResult> couponSupplyQueryResults = couponSupplys.Join(supplyTypes, p => p.SupplyTypeId, q => q.SupplyTypeId, (p, q) => new CouponSupplyQueryResult{ CouponSupplyId = p.CouponSupplyId, CouponTypeId = p.CouponTypeId, CouponTypeName = q.CouponTypeName, CouponFaceValue = p.CouponFaceValue, CouponSelfPayMoney = p.CouponSelfPayMoney,});
0 0
- Linq的Bug收集
- miniblink 的bug收集帖子
- iOS app bug的收集
- 对LINQ的一些资料收集
- bug收集
- BUG 收集
- bug收集
- C语言中易犯的BUG收集
- android studio 遇到的bug 收集
- 收集一些关于IE的BUG
- linq资料(收集)
- LINQ to SQL的默认值问题:若干Bug与解决办法
- [置顶]【收集】Linq 查询方法收集
- J2ME BUG 收集
- Unity3d之Bug收集
- Android 学习 bug收集
- border-radius bug 收集
- border-radius bug 收集
- Linux设备驱动之I/O端口与I/O内存
- Arcgis重分类无法赋新值为小数
- Wince 添加蓝牙设备
- 有关html5、javascript工具、css框架以及jquery插件的前端专题,收藏以供今后使用
- 坐在马桶上看算法:快速排序
- Linq的Bug收集
- 协定需要双工,但是绑定“WSHttpBinding”不支持它或者因配置不正确而无法支持它
- ORACLE 常用kill表锁命令
- 树中两个节点的最低公共祖先
- Android的so库注入
- Flex4.6开发问题[1]-HSlider
- [leetcode] 236.Lowest Common Ancestor of a Binary Tree
- c++标准库IO
- 硬编码和软编码