1
在EF實體的Linq投影中,我只能選擇所需的屬性。實體框架中的Linq嵌套投影
在下面的代碼中出現問題。現在問題有導航屬性作爲選項。 我要選擇唯一的選擇ID和選項標題嵌套屬性
如果我寫
options.ToList()
它會與所有屬性的作用。
我只想Options.ID
和Options.Title
列入
var query = from c in context.Sec_Questions.AsNoTracking()
where c.IsActive == true
select new
{ c.ID, c.QuestionType,
c.Title, c.ControlName,
c.IsNumberOnly,
c.Maxlenghth,
options = c.Options.ToList(),
c.IsMultiple,
c.ControlID,
c.HelpText,
c.IsRequired };
var questions = query.ToList();
但這代碼不起作用
var query = from c in context.Sec_Questions.AsNoTracking()
where c.IsActive == true
select new
{ c.ID, c.QuestionType,
c.Title, c.ControlName,
c.IsNumberOnly,
c.Maxlenghth,
options = new { c.Options.ID, c.options.Title },
c.IsMultiple,
c.ControlID,
c.HelpText,
c.IsRequired };
var questions = query.ToList();
嘗試使用FirstOrdefault如果選項是列表類型你不能從列表中直接獲取屬性vaule與選擇特定實例 –
爲什麼選項是一個列表對象?它需要成爲?當你有一個列表對象時,你只需要選擇數組中的一個項目來獲取屬性。我通常使用FirstOrDefault:options = new {c.Options.FirstOrDefault()。ID,c.optionsFirstOrDefault()。Title}, – jdweng