0

(EntityFramework 4.1を実行しています)2つのデータベーステーブルを持つデータベースを持つASP .NETMVC3プロジェクトがあります。

データベーステーブルを表すモデル:

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


}

Entity Frameworkは、MyDetails.CarsIDとCars.CarsIDを適切に関連付けて、CarsNameをプルできるようにします。問題は、PreviousCarIDをCarsテーブルに関連付ける方法がわからないことです。

私が試したこと(Entity Frameworkエラーが発生します):

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 に答える