Ich versuche, einige Daten mithilfe des Entity Framework-Modells in meine Datenbank einzufügen, aber aus unbekannten Gründen führt dies zu nichts.
Vermisse ich hier etwas?
using (var context = new DatabaseEntities())
{
var t = new test
{
ID = Guid.NewGuid(),
name = "blah",
};
context.AddTotest(t);
context.SaveChanges();
}
c#
.net
entity-framework
Rocshy
quelle
quelle
Antworten:
Es sollte sein:
Wo:
TableName
: Der Name der Tabelle in der Datenbank.TableEntityInstance
: Eine Instanz der Tabellenentitätsklasse.Wenn Ihr Tisch ist
Orders
, dann:Beispielsweise:
Hier ist ein Live-Beispiel:
quelle
Sollte es tun
quelle
[HttpPost] // wird verwendet, wenn Sie Logik für ein Schaltflächenklickereignis schreiben
quelle
Ich benutze EF6 und finde etwas Seltsames.
Angenommen, der Kunde hat einen Konstruktor mit Parameter.
wenn ich benutze
new Customer(id, "name")
und tueEs läuft fehlerfrei durch, aber wenn ich in die Datenbank schaue, stelle ich tatsächlich fest, dass die Daten NICHT eingefügt werden.
Aber wenn ich die geschweiften Klammern hinzufüge, benutze
new Customer(id, "name"){}
und macheDie Daten werden dann tatsächlich eingefügt.
Anscheinend machen die geschweiften Klammern den Unterschied. Ich denke, dass das Entity Framework nur beim Hinzufügen von geschweiften Klammern erkennt, dass es sich um echte konkrete Daten handelt.
quelle