自動生成されたテーブルにレコードを挿入します。EFコード最初、私はこのようなフォルダのモデルで二つのクラスを作成します
Material.cs:
public class Material
{
public int MaterialId { get; set; }
public string Name { get; set; }
public virtual ICollection<Project> Project { get; set; }
}
Project.cs:
public class Project
{
[Key]
public int ProjectId { get; set; }
[Required]
public string Name { get; set; }
public DateTime Date { get; set; }
public ICollection<Material> Material { get; set; }
}
エンティティフレームワークコードはまず、SQLサーバーデータベースにMaterialProjects
という名前の新しいテーブルを生成します。私は足場を使ってControllers
とViews
を生成します。私はProjects
テーブルに新しいプロジェクトのレコードを追加する第一ステップで
Material_MaterialId
Project_ProjectId
:
MaterialProjects
は、このような2つの列を持っています。 2番目のステップでは、Materials
テーブルに新しい材料レコードを追加します。
私の質問は:MaterialProjects
テーブルにレコードを追加するにはどうすればいいですか?私は自分のコードでこのエンティティにアクセスできません。
更新日: 材料コントローラでアクションメソッドを作成しましたか?
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "MaterialId,Name,")] Material material)
{
if (ModelState.IsValid)
{
db.Materials.Add(material);
//what to do here
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(material);
}
@distance私の答えを確認してください。 –
@distance:プロジェクトを追加する必要がない場合は省略することができます。サンプルコードを作成して、プロジェクトを追加するかどうかをテストするだけで、プロジェクトも挿入されます。 –