2014-01-07 81 views
-1

这是下面的代码我的LINQ查询时提出的所有6变量则null值所以这个LINQ quert一些变量是不工作的工作的罚款如何解决它,请别人帮我的朋友。 。 。实体框架LINQ Null值错误

public JsonResult ItemMaster(string ItemName, string Brand, string Color, string Dimen, string Size, string Char) 
    { 
     var item = entity.TblItemMasters.FirstorDefault(x => x.ItemName == ItemName && x.BrandName == Brand && x.Color == Color && x.Dimensions == Dimen && x.Size == Size && x.Charecterstitics == Char); 
     if (item == null) 
     { 
       //do something 
     } 
     else{ 
       item.ItemCode 
     } 
    } 
+0

什么ü通过不工作的意思,是什么O/P,给予? –

+0

其工作,但它不会从数据库中获取数据,例如ITEMNAME是空这个查询不会从数据库 – Dinesh

+0

因此多数民众赞成正常的行为中获取数据,如果u传递null。只有空值条目将被selectd –

回答

1

这可能是你想要

public JsonResult ItemMaster(string ItemName, string Brand, string Color, string Dimen, string Size, string Char) 
     { 
    var data = from x in entity.TblItemMasters 
     where (ItemName == null || x.ItemName == ItemName) 
      && (Brand == null || x.BrandName == Brand) 
      && (Dimen == null || x.Dimensions == Dimen) 
      && (Size == null || x.Size == Size) 
      && (Char== null || x.Charecterstitics == Char) 
     select x; 

    if(data.Count() == 0) 
    var Item=data.FirstOrDefault(); 


} 
+0

雅空值这个方法我试过太多了也不能正常工作。 。 。因为有数据的“枚举没有结果”这样的 – Dinesh

+0

@Dinesh请不要修改别人的答案,以改变他们的代码。解释为什么你认为它在评论部分是错误的,并让作者修复它。不知何故,你的编辑建议已被接受,但将来不要这样做。 –

+0

好的朋友对不起朋友,我能理解我改变一个小的失误只是OK对不起朋友 – Dinesh