C # Entity Framework Einzigartige ID SQL server memoryn

Ich muss den gleichen Wert in SQL server speichern, wenn ich auf eine Schaltfläche klicke. Für meine Notwendigkeit benutze ich diese function:

private void AggiornaVersioneCappario() { try { if (modelCap.AZCPR00F.Count() > 0) { modelCap.Database.ExecuteSqlCommand("TRUNCATE TABLE [AZCPR00F]"); modelCap.Database.ExecuteSqlCommand("DBCC CHECKIDENT('AZCPR00F', RESEED, 0);"); modelCap.AZCPR00F.Local.Clear(); } StreamReader reader = new StreamReader(str_azcpr00f); string contents; while ((contents = reader.ReadLine()) != null) { AZCPR00F verCap = new AZCPR00F(); verCap.CPRVER = contents.Substring(1, 5); verCap.CPRDDE = contents.Substring(7, 8); verCap.CPRDSC = contents.Substring(16, 8); modelCap.AZCPR00F.Add(verCap); } modelCap.SaveChanges(); } catch (Exception ex) { throw; } } 

Wenn ich es das erste Mal mache, auch mit dem Tisch bevölkert, funktioniert alles gut. Das Problem ist, wenn ich zum zweiten Mal in der gleichen session Ich habe diese exception:

Store Update, Insert oder Delete-statement betroffen eine unerwartete Anzahl von Zeilen (0). Entitäten können seit dem Laden der Entitäten geändert oder gelöscht worden sein. Weitere Informationen zum Verständnis und zur Behandlung von optimistischen concurrencysausnahmen finden Sie unter http://go.microsoft.com/fwlink/?LinkId=472540 .

Ich lese die referenceen, aber ich kann nicht lösen mein Problem, das auf dem Hinzufügen und nicht zu speichern ändern. Dank an alle

Du brauchst deinen DbContext nicht zu aktualisieren. Sieht aus wie Sie Ihren Stream-Leser nicht schließen:

 private void AggiornaVersioneCappario() { try { if (modelCap.AZCPR00F.Count() > 0) { modelCap.Database.ExecuteSqlCommand("TRUNCATE TABLE [AZCPR00F]"); modelCap.Database.ExecuteSqlCommand("DBCC CHECKIDENT('AZCPR00F', RESEED, 0);"); modelCap.AZCPR00F.Local.Clear(); } StreamReader reader = new StreamReader(str_azcpr00f); string contents; while ((contents = reader.ReadLine()) != null) { AZCPR00F verCap = new AZCPR00F(); verCap.CPRVER = contents.Substring(1, 5); verCap.CPRDDE = contents.Substring(7, 8); verCap.CPRDSC = contents.Substring(16, 8); modelCap.AZCPR00F.Add(verCap); } modelCap.SaveChanges(); reader.Close(); } catch (Exception ex) { throw; } }