C# 双外键:C语言中的多重性错误#

C# 双外键:C语言中的多重性错误#,c#,key,multiplicity,C#,Key,Multiplicity,我有一套实体框架拍卖。 每个拍卖对用户DB对象都有一个2外键。 [创建者(必需)和当前获胜者(可选)] 公共类用户数据库 { 。。。 } 有外键的代码: modelBuilder.Entity<AuctionDB>().HasRequired(a => a.Seller).WithMany(u => u.SellerOfAucts).HasForeignKey(a => a.SellerId).WillCascadeOnDelete(true);

我有一套实体框架拍卖。 每个拍卖对用户DB对象都有一个2外键。 [创建者(必需)和当前获胜者(可选)]

公共类用户数据库 {

。。。 }

有外键的代码:

modelBuilder.Entity<AuctionDB>().HasRequired(a => a.Seller).WithMany(u => u.SellerOfAucts).HasForeignKey(a => a.SellerId).WillCascadeOnDelete(true);
            modelBuilder.Entity<AuctionDB>().HasOptional(a => a.WinnerUser).WithMany(u => u.WinnerOfAucts).HasForeignKey(a => a.WinnerUserId).WillCascadeOnDelete(false);

有什么帮助吗?谢谢你

初始化你的收藏

public UserDB()
{
WinnerOfAucts = new List<AuctionDB>();
SellerOfAucts = new List<AuctionDB>();
}
public UserDB()
{
WinneRofacts=新列表();
SellerOfAucts=新列表();
}
    [Key]
    public int Id { get; set; }
    public virtual UserDB WinnerUser { get; set; }
    public virtual int WinnerUserId { get; set; }
    public virtual int SellerId { get; set; }  
    public virtual UserDB Seller { get; set; }
modelBuilder.Entity<AuctionDB>().HasRequired(a => a.Seller).WithMany(u => u.SellerOfAucts).HasForeignKey(a => a.SellerId).WillCascadeOnDelete(true);
            modelBuilder.Entity<AuctionDB>().HasOptional(a => a.WinnerUser).WithMany(u => u.WinnerOfAucts).HasForeignKey(a => a.WinnerUserId).WillCascadeOnDelete(false);
            if (connectionString == null) throw new ArgumentNullException();
        using (var db = new AuctionContext(connectionString))
        {
            try
            {
                db.Database.Delete();
                db.Database.Create();
            }
            catch (SqlException)
            {
            throw new UnavailableDbException();}
public UserDB()
{
WinnerOfAucts = new List<AuctionDB>();
SellerOfAucts = new List<AuctionDB>();
}