2016-04-02 10 views
0
[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Create([Bind(Include="Id,Reciever_Area,Parcel_Type,Delivery_Type,Parcel_Weight,Final_Cost")] quotation quotation) 
{ 
    if (ModelState.IsValid) 
    { 
     db.quotations.Add(quotation); <-- this isn't working 
     db.SaveChanges(); 
     return RedirectToAction("Index", "Home"); 
    } 

    return View(quotation); 
} 

Dies ist die Fehlermeldung erhalte ich:kann nicht in der Datenbank hinzufügen

Eine Ausnahme des Typs ‚System.InvalidOperationException‘ in EntityFramework.dll aufgetreten war aber nicht

Zusatz in Benutzercode behandelt Information: Das Entitätstypangebot ist nicht Teil des Modells für den aktuellen Kontext.

+0

Es klingt, als ob Ihre Instanz von 'DbContext' den' Quotation' Typ nicht kennt. Ich müsste Informationen darüber wissen, wie Sie Ihre Klasse "DbContext" (Datenbank zuerst, Code zuerst) generieren, bevor Sie weitere Details angeben. –

Antwort

1

Da das Angebotsobjekt nicht im aktuellen dbContext erstellt wird, müssen Sie es vor dem Hinzufügen anfügen.

db.quotations.Attach(quotation); 
db.quotations.Add(quotation); 
+0

Die Codezeile 'db.quotations.Add (quotation);' fügt die Entität (in diesem Fall 'quotation') dem' DbContext' hinzu und setzt ihren Status auf 'Added'. Das heißt, die erste Codezeile wird nicht benötigt. –

Verwandte Themen