LINQ查询问题

时间:2012-04-27 07:37:40

标签: c# asp.net linq sql-server-2008 linq-to-sql

我有以下代码,其中我已声明变量groupLabel并使用ObjectContext.Group_Label对其进行初始化,其中Group_Label是一个表。

我想从两个表中将数据插入到此变量中,并且还要检查条件Group_Label_Delivery_Label标志列已设置。如果没有,那么我只想将该记录添加到groupLabel

var groupLabel
    = ObjectContext.Group_Label
                   .Include("Group_Label_Delivery_Label")                  
                   .Include("Group_Label_Delivery_Label.Delivery_Label")
                   .FirstOrDefault(
                       gl => (!gl.is_delete)
                          && (gl.group_label_id == groupLabelId)
                          && (gl.owner_id == product.owner_id));

请帮我检查Group_Label_Delivery_Label是否未设置标记值。

1 个答案:

答案 0 :(得分:1)

假设您的表具有正确的外键,并且这在您的.edmx实体框架文件中表示,您应该能够在FirstOrDefault()调用的lambda表达式中调用它。

var groupLabel = ObjectContext.Group_Label
                     .Include("Group_Label_Delivery_Label")
                     .Include("Group_Label_Delivery_Label.Delivery_Label")
                     .FirstOrDefault(gl => (!gl.is_delete)
                         && (gl.group_label_id == groupLabelId)
                         && (gl.owner_id == product.owner_id)
                         && (!gl.Group_Label_Delivery_Label.IsDeleted);