我想用左外部联接但列为空的LINQ进行查询
YarnRequsitionDetailID
在其他Yarn_PurchaseOrder_Details
表中也为空,我必须基于该表申请加入
var yarnPOFilter_Grid = (from yrq in _context.Yarn_Requisition_Details
join ypo in
_context.Yarn_PurchaseOrder_Details on yrq.YarnRequsitionDetailID equals
ypo.YarnRequsitionDetailID into t
from rt in t.DefaultIfEmpty()
select new
{
YarnRequsitionDetailID =
rt.YarnRequsitionDetailID,
yrq.YarnID,
yrq.Yarn.YarnName,
yrq.YarnFellowID,
yrq.Yarn_FellowCodes.YarnFellowCode,
yrq.QuantityRequired,
rt.QuantityOrdered,
QuantityBalance_Custom =
yrq.QuantityRequired - rt.QuantityOrdered
}).ToList();
return yarnPOFilter_Grid;
出现以下错误
强制转换为值类型'System.Double'失败,因为实例化值为null。结果类型的通用参数或查询必须使用可为空的类型。
答案 0 :(得分:1)
如果您的<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/white_bg"
>
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<FrameLayout>
Button Code Here
</FrameLayout>
</RelativeLayout>
可为空,则可以将其设为空,因此您可以为其属性分配空值
因为YarnRequsitionDetailID
不能接受null,但是double
可以接受null
答案 1 :(得分:0)
联接实体中具有非空值类型的任何字段之一都应在投影表达式中强制转换为相应的可空类型。例如,如果QuantityRequired
是数据库中的必填字段:
var yarnPOFilter_Grid = (
...
from rt in t.DefaultIfEmpty() select new {
...
QuantityRequired = (double?)yrq.QuantityRequired,