私はEntity Frameworkのヘルプが必要です。Entity Frameworkで新しいアイテムを追加した後にIDを取得
コントローラー:
public ActionResult Create([Bind(Prefix = "visit")] visit visit, [Bind(Prefix = "drugsEdition")] IEnumerable<drugsEdition> drugsEdition, [Bind(Prefix = "accessoryEdition")] IEnumerable<accessoryEdition> accessoryEdition, [Bind(Prefix = "servicesEdition")] IEnumerable<servicesEdition> servicesEdition)
{
Models.VisitDetails visitDetails = new Models.VisitDetails();
visitDetails.visit = visit;
if (ModelState.IsValid)
{
db.visit.Add(visit);
if (drugsEdition != null)
{
foreach (var item in drugsEdition)
{
item.idVisit = visit.id;
db.drugsEdition.Add(item);
}
}
if (accessoryEdition != null)
{
foreach (var item in accessoryEdition)
{
item.idVisit = visit.id;
db.accessoryEdition.Add(item);
}
}
if (servicesEdition != null)
{
foreach (var item in servicesEdition)
{
item.idVisit = visit.id;
db.servicesEdition.Add(item);
}
}
db.SaveChanges();
return RedirectToAction("Details", new { id = visit.id });
}
return View(visitDetails);
}
モデル:このコードで
[Table("servicesEdition")]
public partial class servicesEdition
{
public int id { get; set; }
public int idService { get; set; }
public int idVisit { get; set; }
public double priceSell { get; set; }
[ForeignKey("idService")]
public virtual services services { get; set; }
}
が、私は、データベースへの新しい訪問を追加し、私は訪問者の
id
コード行
db.visit.Add (visit)
後に取得します。新しい
drugsEdition
と新しいを追加すると、このコードは正しく入力され、
idVisit
が追加されましたが、
servicesEdition
のidVisit = 0が追加されました。なぜ 'servicesEdition'が良いidVisitを取得しないのですか?
'ServicesEdition'クラスの定義はどのようになっていますか? – Shyju