我有一个数据库,它有一个“动态”的用户搜索屏幕,因为我可以根据搜索所基于的特定视图中可用的列动态添加其他搜索条件,并且它将允许用户使用它们立即地。以前我一直在该数据库中使用 nettiers,但现在我正在使用 RIA、EntFramework 4 和 LINQ 针对它编写一个新应用程序。
我目前有两个表用于此目的,其中一个用可用的搜索字符串模式填充组合框:
姓
姓氏、名字
电话
ETC....
然后我有另一个表将这些标准分开并在我的 nettiers 算法中使用。它工作得很好,但我想使用 LINQ..但它不太适合这个模型。此外,我想我可以用 linq 将其缩减为一张表......
使用类似于此的格式或非常接近的格式......
ID 条件Where 子句
1 LastName '姓氏如“%{0}%”
现在我知道这不适合 linq 查询。但为了清楚起见,我尝试使用通用语法...
真正的 where 子句看起来像这样: a=>a.LastName.Contains("{0}")
我的第一个问题是:这可能吗?将 lambda 输入字符串并在 Linq 查询中使用它?
我的第二个问题是:在我研究这个问题之前,我发现了一种具有类似 it.LastName{0} 前缀的 linq 语法。
我似乎尝试过使用它,因为它的痕迹仍然在我的测试数据库中......但我不记得我在哪里读到过它。
有人这样做吗?我做了一些搜索并发现了类似的情况,但它们大多具有可选的静态字段,这与我正在做的方式不完全一样......
至于你的第一个问题,你可以使用 Dynamic Linq 来完成此操作,如 Scott Gu 所描述的here
var query = Northwind.Products.Where("Lastname LIKE "test%");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)