【发布时间】:2019-05-04 05:13:26
【问题描述】:
我正在尝试使用 LINQ 在 Controller 中使用多 EF 模型,我的代码是,
public JsonResult Index(int prefix)
{
List<Survey_Response> ResponseList = new List<Survey_Response>();
SurveyAppEntities ObjectSur = new SurveyAppEntities();
ObjectSur.Configuration.ProxyCreationEnabled = false;
ResponseList = (from r in ObjectSur.Survey_Response
join q in ObjectSur.Questions on r.SurveyID equals q.ID
where r.SurveyID.Equals(prefix)
select new { r.QuestionID, q.Text, r.Response, r.FilledBy }).ToList();
return Json(ResponseList, JsonRequestBehavior.AllowGet);
}
我有两个实体“Suervey_Response”和“Questions”我需要来自它们的数据
Entity "Survey_Response" is like,
public partial class Survey_Response
{
public int ID { get; set; }
public int SurveyID { get; set; }
public int QuestionID { get; set; }
public string Response { get; set; }
public int FilledBy { get; set; }
public virtual Question Question { get; set; }
public virtual Survey Survey { get; set; }
public virtual User User { get; set; }
}
Linq 查询在这一行给出转换类型错误匿名,
select new { r.QuestionID, q.Text, r.Response, r.FilledBy }).ToList();
如果我用“r”代替这些选定的值,它就可以正常工作。
希望您的建议
【问题讨论】:
-
匿名名单有什么信息?听起来既然使用
select r工作正常,应该与 EF 引用有关。 -
这是错误“无法将类型 'System.Collections.Generic.List
' 隐式转换为 'System.Collections.Generic.List '”
标签: .net asp.net-mvc entity-framework linq model-view-controller