最初に EF コードを使用します。
それは私のモデルビルダーです
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<Market>()
.HasRequired(s => s.State)
.WithMany()
.HasForeignKey(s => s.StateId)
.WillCascadeOnDelete(false);
}
および状態クラス:
public class State
{
public State()
{
Markets = new HashSet<Market>();
}
[Key]
public int StateId { get; set; }
public string StateName { get; set; }
// navigation property
public virtual ICollection<Market> Markets { get; set; }
}
および市場クラス:
public class Market
{
[Key]
public int MarketId { get; set; }
public string MarketName { get; set; }
public int StateId { get; set; }
// navigation property
public virtual State State { get; set; }
}
もちろん、余分なコードは削除します。
問題は、このコードを使用すると、State_StateId 列がデータベースの Market テーブルに追加され、modelbuilder を使用しないと、メッセージ ループ コードでエラーが発生し、... (余分なコードを削除すると言います)、どうすればよいかということです。この「State_StateId」余分な列を使用せずに、最初にコードを使用します。
下手な英作文ですみません。