0

(运行 EntityFramework 4.1)我有一个 ASP .NET MVC 3 项目,该项目有一个带有两个数据库表的数据库。

表达数据库表的模型:

public class MyDetails
{
    public int DetailsID {get;set;}
    public string Description {get;set;}
    public int 
    public CarID {get;set;}
    public virtual Cars Cars {get;set;}

    public PreviousCarID {get;set;}

}

public class Cars
{
    public int CarsID {get;set;}
    public string CarsName {get;set;}


}

实体框架将很好地关联 MyDetails.CarsID 和 Cars.CarsID,以便我可以提取 CarsName。问题是我不确定如何将 PreviousCarID 与 Cars 表相关联。

我尝试过的(导致实体框架错误):

public PreviousCarID{get;set;}
[ForeignKey("PreviousCarID")]
public virtual Cars Cars2 {get;set;}
4

1 回答 1

0

我会将 Cars 重命名为 Car,并将 CarsID 更改为 CarID。然后在您的 DbContext 中将 DbSet 保留为 Car 类型,但命名为 Cars。

其次,解决您的具体问题(使用我上面的建议)

public class MyDetails 
{ 
    public int DetailsID {get;set;} 
    public string Description {get;set;} 
    public int CarID {get;set;} 
    public int PreviousCarID {get;set;}

    public virtual Car Car {get;set;} 
    public virtual Car PreviousCar {get;set;} 
} 

public class Car 
{ 
    public int CarID {get;set;} 
    public string CarName {get;set;} 
} 

您不会说您使用的是代码优先、模型优先还是数据库优先。我将假设数据库优先。如果是这种情况,那么您需要确保 CarID 和 PreviousCarID 都是 Car 表的外键。

于 2012-05-16T21:07:11.530 回答