2011-10-25 14 views
0

はのは、私のような2つのテーブルがあるとしましょうcodefirst EFでこれ?または、これで達成できるのは:マッピングFK関係は

public class User 
{ 
int UserId{get;set;} 
string UserName{get;set;} 
Status UserStatus{get;set;} 
} 

アイデアはありますか?前もって感謝します。データベースビューを使用しないあなただけの第二の溶液を達成することができます

答えて

1

いますが、非でそれを改善することができますがStatusDescriptionプロパティをマッピングされた:

public class User 
{ 
    public int UserId { get;set; } 
    public string UserName { get;set; } 
    public Status UserStatus { get; set; } 

    [NotMapped] 
    public string StatusDescription 
    { 
     get 
     { 
      return UserStatus.StatusDescription; 
     } 

     set 
     { 
      UserStatus.StatusDescription = value; 
     } 
    } 
} 
+0

答えがありがたいです、悲しいことに、EFで直接マップする方法はありません... – AlegSilva

0

あなたはどんな複雑な特性を持つPOCOオブジェクトを生成するための拡張メソッドを作成することができます。

public static class UserExtensions 
    { 
     public static UserPoco ToPoco(this User user) 
     { 
      UserPoco poco = new UserPoco(); 
      poco.UserId = user.UserID; 
      poco.UserName = user.UserName; 
      poco StatusDescription = user.Status.StatusDescription; 
      return poco; 
     } 
     public static UserPoco ToPoco(this User user,ExtraObjectToInclude object) 
     { 

      //....you can include other objects to construct something complex. 
     } 
    } 

ユーザーエンティティ内のステータスエンティティへのナビゲーションリンクを追加する必要があります。 Pocoオブジェクトは、1つのエンティティと完全に一致する必要はありません。また、複数のエンティティからのより多くの情報を含めることもできます。

+0

答えがありがとう、これは私が検討していたものですが、AutoMapperのようなものを使用しています... – AlegSilva

関連する問題