LinQ ORM Data Objects und Vererbung
-
05-07-2019 - |
Frage
Ich denke darüber nach, wie dies zu tun, aber ich habe mehr verschiedene Formen von Daten in meiner Datenbank, Artikel, Newsitem, usw.
Sie haben alle etwas gemeinsam, sie alle IDs haben (in der DB sind sie genannt ArticleID, NewSID etc.)
Sie haben alle eine Titel
Sie haben alle Bodytext .
Sie haben alle einen Status
Sie haben alle eine DateAdded
Was ich möchte, ist, tun Standardklassenvererbung.
Ich möchte eine Master Class (Ich brauche nicht diese in die Datenbank zu schreiben) genannt Content mit Feldern wie:
- ID
- Titel
- SubTitle
- Bodytext
- Status
- AddedDate
Ich bin nicht sicher, wie ich das mit dem ORM tun kann. Warum möchte ich dies, weil dann kann ich eine Liste von Inhalten auf meine Usercontrol übergeben, die für die Darstellung verantwortlich ist. Es wird nur die Informationen benötigt, die alle Objekte gemeinsam ist.
Ist das überhaupt möglich?
Lösung
Dies ist, was Schnittstellen sind für. Lassen Sie jede Klasse eine iContent-Schnittstelle implementieren, die Ihren Titel enthält, Bodytext, Status und DateAdded Eigenschaften. Jetzt können Sie eine Sammlung übergeben um (List<IContent>
) um, dass verschiedene Arten von Inhalten containt könnte.
Wenn Sie LinqToSql verwenden Sie Teilklassendateien erstellen können, die automatisch generierten Klassen implementieren die Schnittstelle, die Sie haben wollen.
public partial class SomeContent : IContent
Andere Tipps
Ich bin mir nicht sicher, ob Sie über LINQ to SQL sprechen, aber es gibt ein paar Online-Ressourcen, wie Vererbung erstellen mit ihm:
- LINQ to SQL Diskriminator Spalte Beispiel - Vererbung Mapping Tutorial
- Vererbung in LINQ zu SQL Screen
... und vieles mehr.
HTH
fand ich eine Seite, die aussieht wie es etwas entlang der Linien von dem, was ich suche (das letzte post) ... aber ich bin nicht sicher schwach typisierte Objekte mit: