0
我正在使用EF 3.5与MVC。Linq与EF动态搜索
我想要做一个搜索页面,对喜欢日标准的一些领域,诠释等
什么是LINQ到实体的方式来动态地过滤结果。
如果有一个参数,我们可以使用 。凡(A => a.id == 1)
但具有可选PARAM我怎样才能加载结果,然后传递给模拟许多组合。
我正在使用EF 3.5与MVC。Linq与EF动态搜索
我想要做一个搜索页面,对喜欢日标准的一些领域,诠释等
什么是LINQ到实体的方式来动态地过滤结果。
如果有一个参数,我们可以使用 。凡(A => a.id == 1)
但具有可选PARAM我怎样才能加载结果,然后传递给模拟许多组合。
EF 3.5?无论如何...
您可以在ObjectQuery,ObjectSet或IQueryable上附加搜索条件,并根据哪些搜索条件有用链接它们。
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。