2011-07-06 14 views
3

を作成するために、非プライマリキーを使用して:EFコードファースト、私は、次の2つのエンティティを持つ1対多の関係

public class User 
{ 
    public int PKID { get; set; } 
    public string Login { get; set; } 
    public string Username { get; set; } 
    public string Password { get; set; } 

    public virtual ICollection<AppAccess> AppAccessList { get; set; } 
} 

public class AppAccess 
{ 
    public int PKID {get; set; } 
    public string Login { get; set; } 
    public string AppCode { get; set; } 
} 

PKIDフィールドは、各テーブルの主キーおよびID列が、[ログイン]フィールドでユーザーが主要なエンティティである1対多の関係でそれらをリンクするものです。

流動性のあるAPIを使用してナビゲーションプロパティAppAccessListを設定するにはどうすればよいですか?ログインフィールドをリレーションシップキーとして使用するにはどうすればよいですか? BTWでは、エンティティは現時点ではリファクタリングできない既存のスキーマに基づいています。

答えて

0

これは箱からでも可能性があるとは思いませんが、確かにナビゲーションプロパティを追加することはできません。新しいパワーツールを使用してデータベースをリバースエンジニアリングしてみたところ、関係を無視してしまったし、コード(注釈や流暢なインターフェイス)を使って作成することもできなかった。

OnModelCreatingメソッドでraw sqlを使用してリレーションシップを作成して制約を作成できますが、ジョインを手動で使用してテーブル間を移動する必要があります。

関連する問題