[英]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.