实体框架3.5中的搜索查询

发布于 2024-11-06 06:00:50 字数 969 浏览 0 评论 0原文

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

string firstname  = "Joe";
 string emailFilter = "[email protected]";
 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 查询 具有动态搜索条件。

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

我是 Linq 新手。 我们是否需要使用Iqueryable。 任何帮助表示赞赏。

谢谢

I need to build a search query on Customers table join with orders table

string firstname  = "Joe";
 string emailFilter = "[email protected]";
 string city=null;

In SQL we can make like this

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'

I need to build a entity framework 3.5 linq query joined with orders and customers table
with dynamic search condition.

if the values are not null, i need to use in where clause in linq

I am new to Linq.
shall we need to use Iqueryable.
Any help appreciated.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冧九 2024-11-13 06:00:50

你可以尝试这样的事情:

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;

You can try something like :

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;
与君绝 2024-11-13 06:00:50

您可以在此处查看动态 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.aspx com/questions/tagged/dynamic-linq

You can check Dynamic Linq here http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx it will help you or search stackoverflow.com for dynamic-linq tag questions and answers https://stackoverflow.com/questions/tagged/dynamic-linq

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文