首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用EF动态搜索的Linq

使用EF动态搜索的Linq
EN

Stack Overflow用户
提问于 2010-01-16 15:09:28
回答 1查看 1.4K关注 0票数 0

我使用的是带有MVC的EF 3.5。

我想做一个搜索页,有像日期,整数等标准的一些字段。

在linq to entities中动态过滤结果的方法是什么。

如果有一个参数,我们可以使用.where(a=>a.id==1)

但是有许多可选参数的组合,我如何加载结果,然后传递给模型。

EN

回答 1

Stack Overflow用户

发布于 2010-01-16 15:23:36

EF 3.5?不管怎样..。

您可以在ObjectQuery、ObjectSet或IQueryable上附加搜索条件,并根据哪些搜索条件有用来链接它们。

代码语言:javascript
运行
复制
public SearchMyThings( string a, string b, int c )
{
     var mywidgets = ObjectContext.CreateObjectSet<Widget>();
     //or the EF 1.0 version CreateSet?

     if( !a.IsNullOrEmpty )
        mywidgets = mywidgets.Where( w => w.AProperty == a );

     if( !b.IsNullOrEmpty )
        mywidgets = mywidgets.Where( w => w.BProperty == b );

     if( c > 0 )
        mywidgets = mywidgets.Where( c => c.CProperty == c );

}

如果你需要一种基于字符串的方法,你总是可以使用ObjectQuery.Where的重载(“esql”)来动态构造一些eql并传递它。

如果您需要对字符串进行更多的控制,并且不怕复杂,那么可以尝试一下Dynamic Linq

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2076512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档