Ich möchte eine benutzerdefinierte Eigenschaft für eine meiner Entitäten erstellen, die aus der Datenbank zugeordnet wurden. Diese Eigenschaft ist jedoch nicht der Datenbank zugeordnet. Ich habe die Eigenschaft jedoch mit partiellen Klassen erstellt Beim Versuch, zu kompilieren, erhalte ich eine Fehlermeldung, dass die Eigenschaft nicht zugeordnet ist. Gibt es ein Attribut oder etwas, das ich hinzufügen sollte? Danke im Voraus.Erstellen einer nicht zugeordneten Eigenschaft in einer Entität (Entitätsframework)
Antwort
Verwenden Sie partielle Klassen, um die hinzuzufügenden Eigenschaften oder Methoden hinzuzufügen. Z.B.
namespace WhateverNamespaceYourEntityModelIsIn
{
public partial class TheNameOfYourEntity
{
public string MyNewProperty { get; set; }
}
}
und das sollte Sie tun.
Sie können auch Ihre Eigenschaft mit [NotMapped]
Attribut oder verwenden Sie Ignore
Methode von fließenden API.
Immobilien
public class EntityName
{
[NotMapped]
private string PropertyName { get; }
}
Fluent API
public class Entities : DbContext
{
public DbSet<EntityType> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Some database configuration
modelBuilder.Entity<EntityType>()
.Ignore(i => i.PropertyName);
}
}
Dies ist eine gute Lösung, wenn Sie dem Entitätsobjekt Eigenschaften hinzufügen möchten, diese jedoch nicht der Datenbank oder Mapping-Datei zuordnen möchten. – mknopf
Das Verwenden des [NotMapped] -Attributs ist der einfachste Weg, wenn Sie eine Eigenschaft besitzen all enites wie EntityState, die Sie für eine Basisklasse deklarieren. Sie müssen nicht jede Konfigurationsklasse bearbeiten und sich daran jedes Mal erinnern, wenn eine neue Entität eingeführt wird. –
Hey, danke für deine Antwort. Aber wenn ich es versuche, bekomme ich: "Unterstützt nicht typisierten Wert in nicht offenen Typ." Was mache ich falsch? – Toodoo
ich ernsthaft zu spät, um das Gespräch bin, aber Sie wollen auch die teilweise als serialisierbar und die Eigenschaft als serialisierbar markieren - Wenn Sie JSON planen oder die Objekte serialisieren möchten:
[Serializable()]
public partial class MyClass {
private System.Nullable<int> _Age;
[global::System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
public System.Nullable<int> Age {
...
}
}
Die Anweisungen [Serializable()] und [global:] werden benötigt. Wenn Sie [global:] ausschlossen, wurde es bei jeder Serialisierung ignoriert und nicht in die Serialisierung einbezogen.
Ausgezeichnet! Ich drehte meine Räder so lange und versuchte herauszufinden, warum nur eine meiner geposteten Variablen immer Null war. Das hat den Trick gemacht! Vielen Dank! – RobDigital
Diese Seite hat mir wirklich geholfen. Ich füge genau das hinzu, was ich meiner Mapping-Konfiguration hinzugefügt habe, nachdem ich Kniganapolkes Antwort gesehen habe.
public TheObjectName()
{
this.HasKey(t => t.ID);
this.Ignore(t => t.IsProcess); //we don't want EF to worry about this
}
Danke allen, danke SO!
- 1. Fehler beim Filtern einer Eigenschaft einer Entität, die in Entity Framework von einer anderen Entität erbt
- 2. Erstellen einer Django-Eigenschaft
- 3. Erstellen einer generischen Eigenschaft
- 4. Entity Framework zum Erstellen von berechneten (nicht zugeordneten) Feldern?
- 5. Erstellen einer Entität aus einem API-Aufruf und einer Schemakarte
- 6. Erforderlich eine Eigenschaft gebunden an den zugeordneten Typ einer geerbten Eigenschaft
- 7. Zeigen Sie leeres Textfeld mit Html.TextBoxFor für eine Nicht-Null-Eigenschaft in einer EF-Entität an
- 8. Hinzufügen einer Eigenschaft zu einer Entity Framework-Entität aus einer anderen Tabelle
- 9. Verschieben von Daten von einer Entität zu einer anderen Entität
- 10. Symfony 2: Hinzufügen eines benutzerdefinierten Formularelements, nicht in einer Entität
- 11. Auswählen einer Entität nicht Subselektion verbundenen Entitäten
- 12. So wählen Sie eine Eigenschaft aus einer Entität in einer Hibernate-Beziehung aus
- 13. Vergleichen einer Entität
- 14. Ändern des Schlüsselnamens einer Entität
- 15. Hibernat Exception Mapping einer Entität
- 16. Eigenschaftsraster erstellen neue Instanz auf einer Eigenschaft
- 17. Erstellen einer Eigenschaft, die IndexOutOfRangeException auslösen kann
- 18. Erstellen einer Entität mit einem Verweis auf eine andere Entität in azure Mobildienst
- 19. Verwenden des Entitätsframeworks zum Hinzufügen vorhandener Entitäten zu einer Auflistung in einer neu erstellten Entität
- 20. Abrufen einer einzelnen Spalte aus einer Entität
- 21. GreenDAO Erstellen einer automatischen ID-Eigenschaft
- 22. Fügen Sie einer DBML-generierten Entität zusätzliche Eigenschaft hinzu, die nicht in der Datenbank enthalten ist
- 23. WPF-Entität kann kein ObjectSet einer Sicht erstellen?
- 24. Auslösen eines Plugins beim Erstellen eines Prozesses/einer Entität
- 25. Private Eigenschaft in der coreData-Entität
- 26. Abfragen von nicht zugeordneten Eigenschaften in Nhibernate
- 27. Erhalte Validator-Constraints einer Entität
- 28. Wie erstellt man einen Volltextkatalog in einer Entitätsframework-Datenbankmigration?
- 29. QueryOver zur Auswahl einer Entität
- 30. Erstellen Sie Schienen Formularfelder von zugeordneten Modellen
Die Verwendung von partiellen Klassen ist der richtige Weg, und funktioniert gut für mich. Sie müssen Ihren Code, Ihre Mappings und den genauen Fehler anzeigen, da das, was Sie bisher beschrieben haben, bereits funktioniert. –