SQL Data Services flexible entity modelを実装する「最良の」方法を考え出しています。各クラスは、デリバリーされたクラスでもエンティティとして格納できます。*異なるフィールドの各サブクラスで実装する必要があるプロパティを実行する最適な方法は何ですか?
例:すべてのサブクラスは、私は、コレクションのいくつかの種類等を有している(上記と)Entityクラスと基底クラスの両方を有するの方向に向かってい、これまでのところ
string Id
string Kind
Dictionary<string, object> Properties
異なるを持っています
Dictionary<string, Entity> data
そして、それぞれのサブクラスは
data["EntityKind"].Properties["PropertyName"]
のようなセットのプロパティをその辞書に追加して、ちょうど/取得する必要があり しかし、各クラスには1つのエンティティしかないので、階層の各レベルがどこにあるのか正確に知っている何らかの種類のスタック(辞書の代わりに)を使用する必要があるようです。それから、クラス継承がスタックであることが私には分かりました。だから、私はおそらく、これを本当に単純化するいくつかの巨大なOOコンセプトを見逃していたと思いました。何かのように
abstract eachsubclassmusthaveitsown Entity entity
興味深い。あなたはそれをさらに拡大できますか?エンティティとの唯一の関連付けは属性を介して行われるか、それを含んでいないか、またはそれから派生していないと言っていますか?欠点は、エンティティに変換するためにリフレクションを使用しなければならないということです。エンティティに変換するにはサーバー側のアプリケーションで使用するには時間がかかりすぎますか? –
あなたの最初の声明にあなたの疑問符を気づかれました。はい、各クラスは実体として保存することができます –
反射が「遅い」という提案に注意してください。メソッド呼び出しより10倍または100倍遅いかもしれませんが、メソッド呼び出しは非常に高速です。 –