2011-10-02 56 views
0

的单个实现Q:如何在Order对象中访问以下OrderStatusType (在我的控制器和剃刀视图中使用mvc3/ef4.1/.edmx)?以下代码将引发标题中指定的错误。错误:类型'MVCApp.Models.Order'的导航属性不是'System.Collections.Generic.ICollection`1 [T]'

- 控制器代码(错误):

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; } 
} 

- 剃须刀(错误):

<div class="display-field"> 
    @Model.OrderStatusType.Name @* This throws the same error as well *@ 
</div> 

回答

2

尝试丢弃OrderOrderStatusType来自您的edmx文件的表格,然后重新添加它们。

1

我认为你缺少你OrderStatusType类以下内容:

public virtual ICollection<Order> Order {get;set;} 

我已经叫物业秩序,而且它应该以同样的方式被称为上的关系为此

相关问题