質問

インターフェイスを使用して永続クラスを実装しようとしています。以下を作成しました

public interface IFoo
{
    int Id {get;set;}
}

public class Foo : IFoo
{
    private int _id;

    public int Id {get{return _id;} set{_id = value;}}
}

public interface IBar
{
    int Id {get;set;}
    IFoo Foo {get;set;}
}

public class Bar : IBar
{
    private int _id;
    private IFoo _foo;

    public int Id {get{return _id;} set{_id = value;}}
    public IFoo Foo {get{return _foo;} set{_foo = value;}}
}

Fooが有効なクラスであることを示し、デフォルトでそれを使用することは可能ですが、データベースを使用してクラスタイプを保存することは望ましくありません。

ありがとう

ロハン

役に立ちましたか?

解決 3

Telerikガイドを読んだ後、フォーラムに質問を投稿しました...

クラスタイプを保存せずにインターフェイスを使用するデータベース

不可能なようです。

他のヒント

OpenAccessは後でさらに有効な実装があるかどうかを知らないため、descriminator列は常に必要です。できることは、Fooの直接参照をプライベートフィールドとして使用し、それをInterfaceプロパティとして公開することです。セッターのクラスキャスト例外は、間違ったオブジェクトが設定されている場所を見つけるのに役立つ場合があります。

役立つこと、

Jan

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top