0

次のクラスとの関係を構成する必要があります: ユーザーはプロファイルを持っているかどうか。構造: ユーザー: ユーザー ID、ユーザー名、パスワード プロファイル: ユーザー ID、氏名、住所、電話番号

public class User
{
    #region Feilds
    public int UserID { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }
    #endregion

    public virtual Profile Profile { get; set; }
}

public class Profile
{
    #region Fields
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
    #endregion

    public virtual User User { get; set; }
}

構成:

public class UserConfiguration : EntityTypeConfiguration<User>
{
    public UserConfiguration()
        : base()
    {
        // Primary Key
        this.HasKey(p => p.UserID);

        //Foreign Key
        this.HasOptional(p => p.Profile).
            WithMany().
            HasForeignKey(p => p.UserID);
    }
}

エラー:

System.Data.Edm.EdmEntityType: : EntityType 'Profile' にはキーが定義されていません。この EntityType のキーを定義します。System.Data.Edm.EdmEntitySet: EntityType: EntitySet "Profiles" は、キーが定義されていないタイプ "Profile" に基づいています。

助けてください。

ありがとう。

4

1 に答える 1

1

エンティティ フレームワークの各エンティティには、主キーが定義されている必要があります。プロファイル エンティティは、現在のエラーから抜け出すように見えるはずです。

public class Profile
{
    #region Fields
    public int Id {get;set;}
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
    #endregion

    public virtual User User { get; set; }
}
于 2012-09-24T13:10:32.050 に答える