簡體   English   中英

我想使用 EF 6 Code First 方法重命名表

[英]I want to rename a table by using EF 6 Code First approach

嗨,我有一個實體如下:

public class Complaint
{
    public Complaint()
    { }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Index("IX_UniqueConstraintComplaint", 1, IsUnique = true)]
    public int? InspectionRequestId { get; set; }
    public InspectionRequest InspectionRequest { get; set; }

    [Index("IX_UniqueConstraintComplaint", 2, IsUnique = true)]
    public int? InspectionResultId { get; set; }
    public InspectionResult InspectionResult { get; set; }

    [Index("IX_UniqueConstraintComplaint", 3, IsUnique = true)]
    public int? CaseId { get; set; }
    public Case Case { get; set; }

    [Index("IX_UniqueConstraintComplaint", 4, IsUnique = true)]
    public string ComplaintId { get; set; }
}

我想將這個實體重命名如下,並更改了幾個列名,有人可以幫助我嗎

public class RequestResultCaseComplaint
    {
        public RequestResultCaseComplaint()
        { }

        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int RequestResultCaseComplaintId { get; set; }        

        [Index("IX_UniqueConstraintComplaint", 1, IsUnique = true)]
        public int? InspectionRequestId { get; set; }
        public InspectionRequest InspectionRequest { get; set; }

        [Index("IX_UniqueConstraintComplaint", 2, IsUnique = true)]
        public int? InspectionResultId { get; set; }
        public InspectionResult InspectionResult { get; set; }

        [Index("IX_UniqueConstraintComplaint", 3, IsUnique = true)]
        public int? CaseId { get; set; }
        public Case Case { get; set; }

        [Index("IX_UniqueConstraintComplaint", 4, IsUnique = true)]
        [Required]
        [StringLength(20)]
        public string ComplaintId { get; set; }
    }

我以前在第二種情況下有實體,不幸的是我刪除了它,現在當我再次嘗試使用相同名稱創建時,EF 是否已緩存它我不知道,但 EF 無法識別它,有人可以請幫我解決這個問題,EF 是否緩存已創建的同名實體,我們如何清理它? 即使在刪除實體並再次嘗試重新生成之后,它也不允許我再次創建相同的實體。

或者至少我可以重命名已經存在的實體及其列,我該怎么做?

你能展示你的 DbContext 類嗎? 改變你的 DbContext

public DbSet<yourrenametable>yourrenametable{ get; set; }

暫無
暫無

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

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