Entity Framework: Einheit Eigentum eines anderen Unternehmens zuweisen
Frage
Ich habe diese Entitäten (dies ist nur eine Abstraktion ich für diesen Beitrag erstellt):
- Sprache
- Bezirk
- Beschreibung:
Dies sind die Verweise zwischen ihnen:
- Bezirk * - 1 Sprache
- Beschreibung: * - 1 Sprache
- Bezirk 1 - 1 Beschreibung:
Wenn ich so holen:
var myFetch = from c in context.Districts
where c.Id = 10
select new { DistrictId = c.Id, Lang = c.Language };
und danach versuche ich es auf Beschreibung: zuweisen wie folgt aus:
Description desc = Description.CreateDescription(0, "My description");
desc.DistrictReference.EntityKey = new EntityKey("MyEntities.Descriptions", "DistrictId", myFetch.DistrictId);
desc.Language = myFetch.Lang; //throws error
Der Fehler ausgelöst wird:
System.InvalidOperationException: Die Beziehung nicht definiert werden kann, weil der EntitySet Name ‚MyEntities.Descriptions‘ ist gilt nicht für die Rolle ‚Bezirk‘ in Verbindung gesetzt Name 'MyEntities.District_Description'.
Was mache ich falsch?
Lösung
Wenn myFetch
sind eine Instanz der Klasse sein District
Sie es programmatisch tun könnten:
desc.DistrictReference.EntityKey = new EntityKey(
String.Format(
"{0}.{1}",
myFetch.EntityKey.EntityContainerName,
myFetch.EntityKey.EntitySetName),
"DistrictId",
myFetch.DistrictId);
Andere Tipps
Genau das, was die Botschaft sagt: Sie haben die falsche Einheit Satzname angegeben
.- Öffnen Sie die EDMX.
- Öffnen Sie das Modell Browser-Fenster.
- Finden Sie den Kreis Einheit im Modellbrowser
- Sie mit rechter Maustaste, wählen Sie "Eigenschaften"
- Achten Sie auf den richtigen Entity Set Namen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow