Как использовать интерфейсы с Telerik OpenAccess

Я пытаюсь реализовать мои постоянные классы, используя интерфейсы. Я создал следующее

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 не знает, могут ли быть более допустимые реализации позже. Что вы можете сделать, это использовать прямую ссылку Foo в качестве частного поля и выставить его как свойство интерфейса. Исключение приведения к классу в установщике может помочь вам найти места, где установлен неправильный объект.

Надеюсь, это поможет,

январь

Другие вопросы по тегам