Visual Studio 2013 の"Add - Scaffold"を使用して、別のモデルと多対多の関係を持つモデルに CRUD を追加できるようにしたいと考えています。残念ながら、スキャフォールディングされたビュー/コントローラーは関係にまったく触れず、作成/編集ビューで SelectList がレンダリングされません。
ただし、Scaffold は 1 対多の関係ではうまく機能します。多対多は Scaffold ツールに実装されていない機能ですか、それとも何か間違っていますか?
Fluent API を使用しています。
これらは私のモデルです(読みやすくするために削除されています)
public class Category
{
public int Id { get; set; }
public virtual ICollection<Country> Countries { get; set; }
}
public class Country
{
public string Iso { get; set; }
public string GlobalName { get; set; }
public string LocalName { get; set; }
public virtual ICollection<Category> Categories { get; set; }
}
これらは Fluent API 構成クラスです
public class CategoryConfiguration: EntityTypeConfiguration<Category>
{
public CategoryConfiguration()
{
HasKey(c => new { c.Id });
HasMany(c => c.Countries)
.WithMany(c => c.Categories)
.Map(m =>
{
m.ToTable("CategoryCountry_JT");
m.MapLeftKey("CategoryId");
m.MapRightKey("CountryId");
});
}
}
public class CountryConfiguration : EntityTypeConfiguration<Country>
{
public CountryConfiguration()
{
HasKey(c => new { c.Iso });
Property(c => c.GlobalName).IsRequired();
Property(c => c.LocalName).IsRequired();
}
}
おそらく、結合テーブルは.Map(m => ...
、Scaffold が機能するためにスルーするのではなく、実際のモデルとして宣言する必要がありますか?