0

私のデータベースには、次のテーブルがあります

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オブジェクトがなくなったことです。

この状況で私は何をすべきですか?これらのオブジェクトとのインターフェースとのこの関係を表す方法はありますか?

4

1 に答える 1

3

クラスは部分クラスとして作成されます。次のものを追加するだけです。

public partial class CustomExpressions: IExpression
{
        //blah blah blah
}

public partial class GlobalExpressions: IExpression
{
     //blah blah blah
}

そこに不足しているビットを追加します。

于 2011-04-10T18:11:28.270 に答える