簡體   English   中英

首先使用ApplicationUser的實體框架代碼創建約束或鍵

[英]Creating a constraint or key with Entity Framework Code First to ApplicationUser

我在ApplicationUser類中添加了更多數據

public class ApplicationUser : IdentityUser
{
    public DateTime MembershipCreated { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime? Birthdate { get; set; }
    public Gender Gender { get; set; } 
}

我還有另一個要連接到ApplicationUser的ID的類'Space',因此,如果我嘗試刪除ApplicationUser條目,並且有一個與'ApplicationUser'條目關聯的'Space'條目,則由於鍵或鍵而導致錯誤約束之類的。

我該怎么做?

public class Space
{
    public int SpaceId { get; set; }

    [Index(IsUnique = false)]
    [Required]
    [MaxLength(128)]
    public string AspNetUserRefId { get; set; }

  //other members here
}

你在太空課上會有這樣的想法

[ForeignKey("ApplicationUser")]
public int ApplicationUserID {get; set;}

這是我所做的,但是現在我在為外鍵分配值時遇到問題

我加了

[Required]
public virtual ApplicationUser ApplicationUser { get; set; }

到“太空”實體。 所以現在我看到一個名為ApplicationUser_Id的列,它是一個nvarchar(128)

但是現在我在創建新的“ Space”實體時將我的ID分配給該字段時遇到了問題,因為我試圖將一個字符串分配給applicationuser,它是applicationuser類型而不是字符串。 我想在字段中存儲一個字符串ID。

如下創建外鍵

 public class ApplicationUser : IdentityUser
{
    // other properties

    public virtual ICollection<Space> Space { get;set;}
}

public class Space
{
    // other properties

    [ForeignKey("ApplicationUser")]
    public string ApplicationUserId { get; set; }
    public virtual ApplicationUser ApplicationUser { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM