0
EFコアでクラス名を変更すると、空のマイグレーションビルダが表示されます。EFコア、マイグレーションの定義でコードの最初のテーブルの名前が検出されない、Scafolderが空です
古いEFでは、通常、テーブルの名前を変更するコードを自動生成します。
しかし、今CommentMasterにEventCommentを変更EFコアに
public class EventComment : Comment
{
[Key]
public int CommentID { get; set; }
public int? ParentID { get; set; }
public virtual EventComment Parent { get; set; }
public int EventID { get; set; }
public virtual EventMaster EventMaster { get; set; }
}
public class Comment
{
public string CommentTitle { get; set; }
public string CommentDetails { get; set; }
public int UpVoteCount { get; set; }
public int DownVoteCount { get; set; }
public int CommentEmotion { get; set; }
public string CommentedByID { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
を働いていません。移行は空です。私はこれが原因EFコアデフォルト・テーブル・マッピングconvention(ハイライトは私です)のです
builder.Entity<EventComment>()
.HasOne(e => e.EventMaster)
.WithMany()
.HasForeignKey(m => m.EventID);
builder.Entity<EventComment>()
.HasOne(e => e.ApplicationUser)
.WithMany()
.HasForeignKey(m => m.CommentedByID);
builder.Entity<EventComment>()
.HasOne(e => e.Parent)
.WithMany()
.HasForeignKey(x => x.ParentID);
@Ival Stoevありがとうございます、それは今働いています。 –