C# 传递数据以编辑错误MVC 4
我试图将数据从控制器传递到视图进行编辑,但收到以下错误: 传递到字典中的模型项的类型为 'System.Data.Entity.Infrastructure.DbQuery'1[TIS.Models.ORDER\u WORK\u DETAIL], 但此词典需要类型为的模型项 “这是模型。订单工作细节” 在《控制器》中,我写道:C# 传递数据以编辑错误MVC 4,c#,asp.net-mvc,C#,Asp.net Mvc,我试图将数据从控制器传递到视图进行编辑,但收到以下错误: 传递到字典中的模型项的类型为 'System.Data.Entity.Infrastructure.DbQuery'1[TIS.Models.ORDER\u WORK\u DETAIL], 但此词典需要类型为的模型项 “这是模型。订单工作细节” 在《控制器》中,我写道: public ActionResult MKP_003(string id) { using (Models.AllDataEn
public ActionResult MKP_003(string id)
{
using (Models.AllDataEntities et = new Models.AllDataEntities())
{
var OData = (from e in et.ORDER_WORK_DETAIL where (e.ORDER_NO == id) select e);
return View(OData);
}
}
然后我补充说:
@model TIS.Models.ORDER_WORK_DETAIL
我试着这样改变看法
@model IEnumerable<TIS.Models.ORDER_WORK_DETAIL>
但它不起作用。
我会错过任何代码吗?
非常感谢你 如果您的模型是
@model TIS.Models.ORDER\u WORK\u DETAIL
,则需要返回单个对象,而不是集合。在查询中使用FirstOrDefault()
,但它不起作用。。。。什么不起作用?例外结果不对?谢谢Stephen Muecke。我加上它works@Florian:它抛出一个异常,正如我在问题顶部提到的,您可以像这样简化查询:var OData=et.ORDER\u WORK\u DETAIL.FirstOrDefault(e=>e.ORDER\u NO==id);
var OData = (from e in et.ORDER_WORK_DETAIL where (e.ORDER_NO == id) select e).ToList();