![](/img/trans.png)
[英]Gernerate List using Entity Framework and lambda expressions in C#
[英]C# Entity Framework query using boolean expressions?
我是Entity的新手,我正在嘗試查找DbSet對象中的所有元素,這些元素與作為字符串傳遞的布爾條件匹配:
Example:
string condition = "Weight > 30 && Age == 20";
var results = context.Data.FindIf(condition);
其中Weight和Age是Data的屬性,給定的布爾條件可以變化。 我可以使用LINQ表達式輕松編寫代碼,但有沒有辦法以我描述的方式執行此操作?
表達式樹可以在這里想要你想要的。 您可以解析字符串以構建表達式樹。
你可以使用原始的SQL查詢 ,只是對它執行普通的SQL?
context.Database.SqlQuery<Data>("SELECT * FROM [DataTable] WHERE Weight > 30 AND Age = 20");
您可以使用DynamicLinqQuery庫對IQueryable源使用字符串epxressions。 該庫建立在表達式樹的MSDN文章和@tdbeckett共享的動態查詢構建器中描述的功能之上
它允許您將動態條件寫為字符串,例如
using System.Linq.Dynamic;
var query = db.Customers. Where("City = @0 and Orders.Count >= @1", "London", 10);
有一個Nuget包可用於此:
Install-Package DynamicQuery
完成安裝后,您可以在項目中找到添加了幫助文檔的HTML文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.