更好的方法是从相关实体中选择数据到列表中?

时间:2016-11-20 16:12:12

标签: asp.net-mvc

以下是我的数据库

的表示

enter image description here

我需要创建所有Answers的列表,但要包含相关表格中的属性,I.E,

Answer.ID
Response
QuestionText
CategortText
ProcessText 
etc....

我以为我能做到

IList<Answer> result = db.Answers.ToList();

但由于所有导航属性,这似乎创建了一个庞大的列表。

有更简单的方法吗?我想过一个视图模型,但并不想输入30多个属性......

1 个答案:

答案 0 :(得分:0)

如果您想限制数据,最好的方法是创建类似NewAnswer的新类型,然后您可以使用基于“

等属性组合的投射
IList<NewAnswer> result = db.Answers
                         .Select(x => new SelectListItem()
                         {
                          Response= x.Response,
                          QuestionText= x.Question.QuestionText
                         }).ToList());