我正在实现一个使用实体框架的应用程序的搜索功能。有几个可选字段用于搜索特定的数据库表/视图。用EF实现这种搜索的最佳方式是什么?存储过程?或者只能使用Linq来完成(现实)?实体框架 - 动态sql
1
A
回答
2
你应该可以很容易地在LINQ中做到这一点。永远记住,LINQ查询是可链接的:
var query = (from p in products
select p);
if(field1 != null)
{
query = (from p in query
where p.Field1 = field1
select p);
}
if(field2 != null)
{
query = (from p in query
where p.Field2 = field2
select p);
}
foreach(Product p in query)
{
// ...
}
1
洛伦说什么会工作(+1)。或使用Microsoft Dynamic LINQ。它适用于L2E。
0
你可以看看this article关于动态生成lambda表达式对象来做到这一点。
3
处理可选的搜索参数,一个常见的模式是做这样的事情:
string p = null;
var q = from o in dataContext.Products
where ((o.Name == p) || (p == null))
select o;
相关问题
- 1. 动态SQL到LINQ实体框架
- 2. 动态查询与实体框架4
- 3. 动态实体框架查询
- 4. 动态表创建的实体框架
- 5. 实体框架4.1动态生成表
- 6. 动态模型实体框架
- 7. 动态谓词与实体框架
- 8. 实体框架5选择动态列
- 9. 动态where子句实体框架3.5
- 10. 实体框架动态Where子句
- 11. 动态实体框架的Web API
- 12. 实体框架动态模式加载
- 13. 动态更新实体模型框架
- 14. 动态使用实体框架
- 15. 使用实体框架动态表单
- 16. 实体框架多态性
- 17. SQL,MVC,实体框架
- 18. 原始SQL实体框架
- 19. 动态加载实体框架中的SQL表
- 20. 如何在实体框架中编写动态SQL查询?
- 21. Linq(实体框架)与SQL的动态数据分页
- 22. 存储过程动态sql在实体框架4.1
- 23. 从实体框架获取动态SQL结果
- 24. 使用实体框架的动态\用户可扩展实体
- 25. LINQ到SQL,ADO.NET实体框架,T-SQL
- 26. 实体框架Guid
- 27. 实施SQL“和”使用实体框架
- 28. Windows Azure/SQL Azure实体框架中的动态数据库/架构
- 29. 实体框架
- 30. 实体框架+ Unity框架
会的“查询”事业的原始定义要执行“从产品的选择*”? – Jeremy 2009-08-25 17:57:32
在最后一个可能的时刻之前,不会枚举LINQ查询(即不从数据库中检索结果)。这些调用只是建立起来的,然后当你需要访问结果中的特定元素(或计数等)时,从DB中检索整个组装的查询。 – kevingessner 2009-08-25 18:02:43