实体框架 3.5 中的搜索查询



我需要在客户表上构建搜索查询 与订单表的连接

string firstname  = "Joe";
 string emailFilter = "joe@email.com";
 string city=null;

在SQL中,我们可以这样做

SELECT @sql =                                                       
    'SELECT  * from  
     FROM   dbo.Orders o                                     
     inner join
     JOIN   dbo.Customers c ON o.CustomerID = c.CustomerID      
        WHERE  1 = 1'       
IF @firstname IS NOT NULL                                             
   SELECT @sql = @sql + ' AND c.firstname= @firstname'          

IF @city IS NOT NULL                                         
   SELECT @sql = @sql + ' AND c.city >= @city'

我需要构建一个实体框架 3.5 linq 查询与订单和客户表联接具有动态搜索条件。

如果值不为 null,我需要在 linq 中使用 where 子句

我是林克的新手。我们需要使用Iqueryable吗?任何帮助表示赞赏。

谢谢

你可以尝试这样的东西:

var result = from o in context.Orders.include("customers")
             where o.city == (city == null ? o.city : city) && o.firstname == (firstname == null ? o.firstname : firstname)
             select o;

您可以在此处查看动态 Linq http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx 它会对您有所帮助,或者 stackoverflow.com 搜索动态 linq 标记的问题和答案 https://stackoverflow.com/questions/tagged/dynamic-linq

相关内容

  • 没有找到相关文章

最新更新