我正在尝试使用接口实现我的persitent类。我创建了以下
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是一个有效的类并默认使用它,我不想使用数据库来存储类类型。
由于
罗汉
答案 0 :(得分:2)
descriminator列始终是必需的,因为OpenAccess以后不知道是否有更多有效的实现。你可以做的是使用直接Foo引用作为私有字段并将其公开为Interface属性。 setter中的类强制转换异常可能有助于您找到设置了错误对象的位置。
希望有所帮助,
扬
答案 1 :(得分:1)
查看以下链接:
http://www.telerik.com/help/openaccess-orm/classes-persistent-interfaces.html
http://www.telerik.com/help/openaccess-orm/the-.net-data-model-user-defined-interfaces.html
答案 2 :(得分:0)
阅读Telerik指南后,我在他们的论坛上发布了一个问题......
Using Interfaces without storing the Class Type in the database
看起来不可能。