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