1

私はエンティティフレームワークのコードファーストアプローチを実装しようとしています。、、、の4つのエンティティUserInfoがあります。私は次のような関係を望んでいます:ClientAdminAccount

  • それぞれClientUserInfo
  • それぞれAdminに`UserInfoがあります
  • それぞれがUser( )AccountにリンクされていますUserInfo

これらのことを想定して、私はPOCOモデルを作成しました。私が望む関係で、それは正しいですか?私は何かが欠けていますか?

public class UserInfo
    {
        public int UserInfoID { get; set; }
        public Name Name { get; set; }
        public Address Address { get; set; }
        public Contact Contact { get; set; }
    }

public class Admin
    {
        public int AdminID { get; set; }
        public int UserInfoID { get; set; }
        [ForeignKey("UserInfoID")]
        public virtual UserInfo UserInfo { get; set; }
    }

public class Client
    {
        public int ClientID { get; set; }
        public CompanyDetails CompanyDetails { get; set; }
        public int UserInfoID { get; set; }
        [ForeignKey("UserInfoID")]
        public virtual UserInfo UserInfo { get; set; }
    }

 public class Account
    {
        public int AccountID { get; set; }
        [Required, Column("Balance"), Display(Name = "Account Balance")]
        public double Balance { get; set; }
        public int UserInfoID { get; set; }
        [ForeignKey("UserInfoID")]
        public virtual UserInfo UserInfo { get; set; }
    }
4

1 に答える 1

2

要件に基づいて正しいように見えますが、Code Firstを使用してエンティティを構成する場合は、個人的にEntity FrameworkModelBuilderを好みます。

モデルビルダーを使用するということは、POCOエンティティに属性がないことを意味します。つまり、エンティティを使用するためにEF参照は必要ありません。

モデルビルダーの使用方法の詳細については、こちらの記事をご覧ください:http: //blog.staticvoid.co.nz/2012/07/entity-framework-navigation-property.html

于 2012-07-20T23:05:37.767 に答える