Ich bin neu in EF und verwende Code 6.0 zuerst.Entity Framework kann die Tabellen nicht aktualisieren
using (EmpolyeeContext emp = new EmpolyeeContext())
{
var callrecordSession = new CallRecordingSession();
string ucid = new Random().Next(0, 5000).ToString();
callrecordSession.UCID = ucid;
callrecordSession.InstrumentationTransactionId = new Random().Next(0, 9000).ToString();
callrecordSession.ClientName = "IVR";
callrecordSession.ClientRequestObject = "{string.empty}";
callrecordSession.CallRecordingStatusName = "Started";
callrecordSession.ModifiedDatetime = DateTime.Now;
emp.CallRecordingSessions.Add(callrecordSession);
var itemToEdit = emp.CallRecordingSessions.Where(c => c.UCID == ucid).FirstOrDefault<CallRecordingSession>();
if (itemToEdit != null)
{
itemToEdit.CallRecordingStatusName = "Inprogress";
itemToEdit.ModifiedDatetime = DateTime.Now;
}
emp.SaveChanges();
}
Was ist mit diesem Code falsch? Ich bekomme immer itemtoEdit
als null
ok danke, das funktioniert. Aber wundern Sie sich, wie dies in UnitOfWork-Muster funktioniert, wo mein Verständnis ist nur eine SaveChanges() wird verwendet, um die Änderungen (I/U/D) zu Datenquelle zu synchronisieren. – srieen
Angenommen, Sie verwenden ein Repository mit Ihrem UnitOfWork-Muster, fügt die Methode add dem Repository die Daten nur zur lokalen Instanz von DbContext hinzu. Die Daten werden weiterhin nicht an die Datenbank übergeben, es sei denn, UnitOfWork .SaveChanges wird aufgerufen. Wenn Sie also zu Ihrem Repository hinzufügen und versuchen, die Daten zurück zu wählen, sollten Sie immer noch dasselbe Verhalten wie oben sehen, da UnitOfWork nur eine Abstraktionsebene hinzufügt. Am Ende speichert und holt UnitOfWork auch die Daten vom DbContext (in diesem Fall EmpolyeeContext). Überraschend, dass es in UnitOfWork-Muster funktionieren sollte! –
Auch wenn ich Ihre Frage beantwortet habe, bitte markieren Sie wie beantwortet :) –