C# 变量包含在Linq to Sql EF语句中
EF Linq查询中是否可能包含可变数量的内容 目前我有一些类似于:C# 变量包含在Linq to Sql EF语句中,c#,linq,entity-framework,asp.net-mvc-4,C#,Linq,Entity Framework,Asp.net Mvc 4,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").I
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();
正常的警告适用。如果includes数组中的字符串不是导航属性,EF将抛出异常等。尝试此操作时会发生什么?嘿,谢谢你的想法!include函数来自DbQuery对象,而不是IQueryable,因此我不得不对其进行一些修改。为什么不给出可接受的答案呢?
var entity = db.Forms;
foreach (string s in includes)
{
entity.Include(s);
}
Form form = entity.Where(m => m.Id == id).First();