我有两张桌子
表A(2个字段.CODART和DES) 表B(2个字段.CODART和PREVEN)
我需要使用2个表进行左连接,然后返回json。表B没有记录时我得到这个错误。
(((转换为值类型' System.Decimal'失败,因为具体化值为null。结果类型的通用参数或查询必须使用可空类型。)) )
我使用此代码
var lstart = (from art in db.tableA
where art.CODART == 'uno'
join tfa in db.tableB on art.CODART equals tfa.CODART into ArtTfa from AA in ArtTfa.DefaultIfEmpty()
select new
{
art.CODART,
art.DES,
AA.PREVEN
});
return Json(new { lista = lstart }, JsonRequestBehavior.AllowGet);
你知道为什么吗?
感谢。
答案 0 :(得分:0)
对不起,我的问题。我找到了解决方案。
是否必须在场前使用(十进制?)场进行投射。
新的此代码
var lstart = (from art in db.tableA
where art.CODART == 'uno'
join tfa in db.tableB on art.CODART equals tfa.CODART into ArtTfa from AA in ArtTfa.DefaultIfEmpty()
select new
{
art.CODART,
art.DES,
(Decimal?)AA.PREVEN
});
return Json(new { lista = lstart }, JsonRequestBehavior.AllowGet);
非常感谢。