日期:2014-05-20  浏览次数:20791 次

不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员。

from p in Sys_operators
   where p.Id == 5
   select new
   {
       Region = new { Id = p.Regions.Id, Label = p.Regions.Rname },
       Wid = p.Warehouse.Id,
       Curr = new { Id = p.Curr.Id, Ccode = p.Curr.Ccode }
   }

以上linq会报标题所示的异常,表Sys_operators和其他三张表(Regions,Warehouse,Curr)建立了主外键关系,是不是有可能外表为null所以不能这样select出其中的属性?

------解决方案--------------------
看错误就知道了,int型默认只能为0
------解决方案--------------------
var xxx = (int?)null;
------解决方案--------------------
没看明白楼主要表达啥,反正匿名类型的尿性类型是靠表达式推导出来的