Ich brauche Hilfe mit Entity Framework.Erhalte ID nach dem Hinzufügen eines neuen Elements von Entity Framework
Controller:
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);
}
Modell:
[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; }
}
In diesem Code, habe ich einen neuen Besuch in der Datenbank, und ich möchte id
nach der Codezeile db.visit.Add (visit)
der Besuch bekommen. Wenn ich neue drugsEdition
und neue accessoryEdition
hinzufüge, ist dieser Code richtig und fügte gut hinzu, aber als ich servicesEdition
idVisit = 0 hinzufügte. Warum 'servicesEdition' nicht gutes idVisit erhält?
Wie sieht die 'ServicesEdition' Klassendefinition aus? – Shyju