Attribut in Entity Framework 6 Code zuerst, welche Attribute kann ich hinzufügen, um mein C# -Objektmodell für ein 1-1 Eltern/untergeordnete Beziehung, während die zugrundeliegende SQL-Tabellenbeziehung eine 1 zu viele ist?In EF6, wie C# -Modell für 1-1-Beziehung über eine 1 zu viele SQL-Tabellenbeziehung
Daten werden für einen bestimmten Kunden in SQL Server 2012
Es hat drei Einheiten, eine WarehouseBase Basisentität, WarehouseCustom kundenspezifische Daten und eine Kundenentität zwischen Daten, die für alle Kunden und Daten teilen.
Das C# Objekt:
- Kundenmeinungen Lager XYZ in Browser:
Warehouse { public Guid ID {get;set;} public string Name {get;set;} public string Note {get;set;} //customer specific data } Customer { public Guid ID {get;set;} public string Name {get;set;} }
Ein Kunde Benutzer diesen Workflow verwenden würde. Es sollte Lager XYZ freigegebene Daten (ID, Name) und die kundenspezifischen Daten (Hinweis) zurückgeben.
- Kunden bearbeiten die Notiz ein und klickt Schaltfläche
- Hinweis speichern sollte
Ein Admin würde bearbeiten und speichern Sie die WarehouseBase Daten (Name), aber nicht die kundenspezifischen Daten in der Datenbank gespeichert werden.
SQL-Tabellen:
WarehouseBase
ID : Guid
Name: Nvarchar (255)
WarehouseCustom
ID : Guid
WarehouseBaseID: GUID
CustomerID : GUID
Note : Nvarchar (255)
Customer
ID : Guid
Name : Nvarchar (255)
Das System mehrere verschiedene Kunden gleichzeitig anbieten können per Webbrowser Frontend eine Verbindung zu einem WebAPI-Server verfügt. Der Server verwendet EF6/C#, um auf einen SQL Server zuzugreifen.
Welche Attribute können dem C# -Modell hinzugefügt werden?
Schon gesehen:
- One Beziehung: http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx
- Wie man viele abzufragen und spezifische Kinder Daten laden: Entity Framework include filter child collection
Unsere Anwendung wird 50+ dieser Arten von Basis/benutzerdefinierten Einheiten haben; Es würde also helfen, die Hand-Codierung einer Abfrage mit 2 Abfragen und die Speicherung von 1 Abfrage für jede Entität zu vermeiden. – testx
Für neue Kunden existiert möglicherweise kein untergeordnetes Objekt für Note. – testx
Der Benutzer sucht zuerst nach Warehouse-Namen (Basis-Entitätsdaten), um den Warehouse-Namen zu suchen und zu laden. Eine Suche nach einer Warehouse-Notiz oder einer Verknüpfungstabelle fügt mehr Komplexität hinzu als nur zwei Abfragen zum Lesen eines Warehouse und eine Abfrage zum Aktualisieren der Warehouse-Notiz. – testx