Q:我如何在我的订单对象中访问以下OrderStatusType(在我的控制器和剃刀视图中)…使用mvc3/ef4.1/.edmx) ?下面的代码抛出标题中指定的错误。
——控制器代码(错误):
public ViewResult Details(int id)
{
Order o = db.Orders.Find(id);
OrderStatusType os = o.OrderStatusType; // <= This is throwing!
return View(o);
}
——模型:
public class Order
{
public int OrderId { get; set; }
public int Desc { get; set; }
public int OrderStatusTypeId { get; set; }
public virtual OrderStatusType OrderStatusType { get; set; } // Order contains an OrderSTatusType
}
public class OrderStatusType
{
public int OrderStatusTypeId { get; set; }
public int Name { get; set; }
}
——Razor (errors):
<div class="display-field">
@Model.OrderStatusType.Name @* This throws the same error as well *@
</div>
尝试从edmx文件中删除Order
和OrderStatusType
表,然后重新添加它们。
我认为您在OrderStatusType类中缺少以下内容:
public virtual ICollection<Order> Order {get;set;}
我已经调用了Order属性,但它应该以与关系结束时相同的方式调用