LinQ ORMデータオブジェクトと継承
-
05-07-2019 - |
質問
これを行う方法を考えていますが、データベース、記事、NewsItemなどにさまざまな形状のデータがあります。
すべてに共通点があり、すべてIDがあります(DBではArticleID、NewsIDなどと名付けられています)
すべてにタイトル
がありますすべてに BodyText があります。
すべてにステータス
がありますすべてに DateAdded
があります私がやりたいことは、標準クラスの継承です。
次のようなフィールドを持つ Content と呼ばれるマスタークラス(これをデータベースに書き込む必要はありません)が必要です:
- ID
- タイトル
- サブタイトル
- BodyText
- ステータス
- AddedDate
ORMでこれをどのように行うことができるかわかりません。これが必要な理由は、レンダリングの責任を負うUserControlにCOntentのリストを渡すことができるためです。すべてのオブジェクトに共通の情報のみが必要です。
これは可能ですか?
解決
これがインターフェースの目的です。各クラスに、Title、BodyText、Status、DateAddedプロパティを含むIContentインターフェイスを実装させます。これで、異なるタイプのコンテンツを含む可能性のあるコレクション(List<IContent>
)を渡すことができます。
LinqToSqlを使用している場合は、部分クラスファイルを作成して、自動生成されたクラスに必要なインターフェイスを実装させることができます。
public partial class SomeContent : IContent
他のヒント
LINQ to SQLについて話しているかどうかはわかりませんが、それを使用して継承を作成する方法に関するオンラインのリソースがいくつかあります。
...その他。
HTH
探しているものの行に沿って何かがあるように見える1つのページを見つけました(最後の投稿)...