2017-10-25 9 views
0

コードを最初に使用してデータを保存できません。 ここに私の状況です: エンティティフレームワークコードを使用してデータを保存できません。最初の手法

public virtual DbSet<Users> User { get; set; } 
    public virtual DbSet<Agency> Agencies { get; set; } 
    public virtual DbSet<ColdStorage> ColdStorages { get; set; } 
    public virtual DbSet<ShowRoom> ShowRooms { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 

    } 

と私のユーザモデルはここにある:

[Table("Users")] 
     public class Users 
    { 
    [Key] 
    public int UserId { get; set; } 
    public string Name { get; set; } 
    public string Phone { get; set; } 
    public string Mobile { get; set; } 
    public string Email { get; set; } 
    public string Password { get; set; } 
    public bool isAgency { get; set; } 
    public bool isColdStorage { get; set; } 
    public string VerificationCode { get; set; } 
    public DateTime CreatedDate { get; set; } 

    // Reverse navigation 
    public virtual Agency Agency { get; set; } 
    public virtual ColdStorage ColdStorage { get; set; } 
    public virtual ShowRoom ShowRoom { get; set; } 

    public Users() 
    { 
     Agency = new Agency(); 
     ColdStorage = new ColdStorage(); 
     ShowRoom = new ShowRoom(); 
    } 
} 

と私の他のモデルはここにある:

[Table("Agency")] 
    public class Agency 
    { 
    [Key] 
    public int AgencyId { get; set; } 
    [ForeignKey("Users")] 
    public int UserId { get; set; } 

    public string AgencyName { get; set; } 

    public string Address { get; set; } 

    public string City { get; set; } 

    public string Description { get; set; } 

    public DateTime CreatedDate { get; set; } 
    [Required] 
    public virtual Users Users { get; set; }//Foriegn key 
} 

とエラーはここにあります:

メッセージ ":"エラーが発生しました "、" ExceptionMessage ":"モデル生成中に1つ以上の検証エラーが検出されました:\ r \ n \ r \ nColdStorage_Users_Source :: MultiplicityはRoleの 'ColdStorage_Users_Source' 'ColdStorage_Users'。依存ロールのプロパティはキープロパティではないため、依存ロールの多重度の上限は '*'でなければなりません。\ r \ nShowRoom_Users_Source:

+0

代理店にUserIdがある場合は、1人のユーザーのみを指すことができます。 開始者: 1. [必須] onを削除する [必須] public virtual Users Users {get;セット; } // Foriegnキー 2. 'UserId'の削除 [ForeignKey(" Users ")] public int UserId {get;セット; } – mayu

答えて

0

エラーと同様です。

「従属ロールのプロパティはキーのプロパティではないため、依存役割の多様性の上限 が 『*』でなければなりませんが、」

「従属ロールのプロパティは、」ここを意味し、例えばAgency.UserIdであり、「多重度は「*」でなければならない」とは、ユーザーが代理店のコレクションを持たなければならないことを意味する。 EG

public virtual ICollection<Agency> Agencies { get; } = new HashSet<Agency>(); 
関連する問題