Как использовать интерфейсы с Telerik OpenAccess
-
03-07-2019 - |
Вопрос
Я пытаюсь реализовать свои постоянные классы, используя интерфейсы.Я создал следующее
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 как частное поле и представить ее как свойство интерфейса.Исключение приведения класса в установщике может помочь вам найти места, где установлен неправильный объект.
Надеюсь, это поможет,
Ян