变量包含在 Linq to SQL EF 语句中
本文关键字:EF 语句 SQL to 包含 Linq 变量 | 更新日期: 2023-09-27 18:34:13
EF
Linq 查询中是否可以包含可变数量的包含?
目前我有这样的东西:
Form form = db.Forms.Where(m => m.Id == formId).Include("Child").First();
但是是否可以像这样包装它:
GetFormWithIncludes(int formId, string[] includes)
{
Form form = db.Forms.Where(m => m.Id == formId).Include("Each").Include("String").Include("In").Include("includes").First();
}
以便包含includes
中的每个字符串参数?
在我的头顶上,我不明白为什么这样的事情不起作用。
var query = db.Forms.Where(m => m.Id == formId);
foreach(string s in includes)
{
query = query.Include(s);
}
Form form = query.First();
通常的警告适用。如果包含数组中的字符串不是导航属性,EF 将引发异常等。
var entity = db.Forms;
foreach (string s in includes)
{
entity.Include(s);
}
Form form = entity.Where(m => m.Id == id).First();