Ich versuche, eine Entwicklungsdatenbank mit einigen Testdaten zu erstellen.
Ich habe context.People.AddOrUpdate(p => p.Id, people));
mit viel Erfolg verwendet.
Ich habe eine andere Tabelle, die ich säen muss, in der ich den Primärschlüssel nicht kennen würde.
Zum Beispiel möchte ich AddOrUpdate basierend auf dem übereinstimmenden Vor- und Nachnamen hinzufügen.
Ich bin mir nicht sicher, wie ich den Ausdruck richtig schreiben soll.
context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);
ist offensichtlich falsch, aber ich hoffe, es vermittelt die Lösung, die ich suche.
c#
entity-framework-4.3
seed
linq-expressions
ef-migrations
Keith Sirmons
quelle
quelle
context.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
?context.People.AddOrUpdate(p => new { p.Birthdate }, people)
?Wenn Sie
Only primitive types or enumeration types are supported in this context.
aufgrund der Verwendung der Navigationseigenschaft eine Fremdschlüsseleigenschaft direkt zur Entität hinzufügen möchten (möglicherweise nur mit Getter) und diese wie von Ladislav Mrnka vorgeschlagen verwenden.quelle
code first
? Ich habe Struktur wiecontext.People.AddOrUpdate(p => new { p.Name.FirstName, p.Name.LastName }, people)
? Es ist möglichThe specified type member 'NameId' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.