2009-04-29 12 views
1

Ich versuche, meine persistenten Klassen über Schnittstellen zu implementieren. Ich habe die folgendenSo verwenden Sie Schnittstellen mit Telerik OpenAccess

erstellt
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;}} 
} 

Ist es möglich, um anzuzeigen, dass Foo eine gültige Klasse ist und es zu verwenden standardmäßig, ich mag nicht, die Datenbank verwenden, um den Klassentyp zu speichern.

Dank

Rohan

Antwort

2

Die Descriminator-Spalte ist immer erforderlich, da OpenAccess nicht weiß, ob später gültige Implementierungen möglich sind. Sie können eine direkte Foo-Referenz als privates Feld verwenden und sie als Interface-Eigenschaft verfügbar machen. Die Klassenausnahme im Setter kann Ihnen helfen, die Stellen zu finden, an denen ein falsches Objekt gesetzt ist.

Hoffnung, die hilft,

Jan