私のデータベースには、次のテーブルがあります
CustomExpressions
GlobalExpressions
アプリケーションに対応するPOCOクラスがありました
public class CustomExpressions: IExpression
{
//blah blah blah
}
public class GlobalExpressions: IExpression
{
//blah blah blah
}
そして私はインターフェースIExpressionを持っています
interface IExpression
{
//yada yada yada
}
アプリケーション内のビジネスオブジェクトの1つは、次のようなタイプIExpressionのオブジェクトを集約します。
public class MyBusinessObject
{
public IExpression { get; set; }
}
これが行われるのは、MyBusinessObjectのこのプロパティがCustomExpression型またはGlobalExpression型のいずれかである可能性があるが、動的に決定されるためです。
これはすべて正常に機能しましたが、CustomExpressionおよびGlobalExpressionオブジェクトを取り出して、CustomExpressionおよびGlobalExpressionlinqtosqlオブジェクトを直接使用するように指示されました。これにより、データベースで何かを行う必要があるたびに、POCOからlinqtosqlオブジェクトに変換する必要がなくなります。
この方法の問題は、IExpressionインターフェイスを実装するCustomExpressionオブジェクトとGlobalExpressionオブジェクトがなくなったことです。
この状況で私は何をすべきですか?これらのオブジェクトとのインターフェースとのこの関係を表す方法はありますか?