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?

War es hilfreich?

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:

  1. LINQ to SQL Diskriminator Spalte Beispiel - Vererbung Mapping Tutorial
  2. 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:

LINQ Vererbung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top