Вопрос по использованию интерфейсов на презентационных моделях с услугами RIA.
Можно ли открыть объект через службы Ria Services, реализующие интерфейс?
Интерфейс:
public interface TestInterface
{
public int ID {get;set;}
}
У нас есть презентационная модель:
public class TestPresentationModel : TestInterface
{
[Key]
public int ID {get;set;}
}
Теперь я получаю сообщение об ошибке компиляции: для объекта TestInterface в DomainService SomeDomainService не определен ключ. Сущности, предоставляемые операциями DomainService, должны иметь хотя бы одно открытое свойство, помеченное атрибутом KeyAttribute.
Я попытался добавить атрибут [Key], но затем получаю следующую ошибку: производный тип объекта TestPresentationModel должен быть объявлен в атрибуте KnownTypeAttribute корневого объекта TestInterface.
Я попытался добавить атрибут [KnownTypeAttribute], но затем получаю следующую ошибку компиляции: Атрибут KnownType недействителен для этого типа объявления. Он действителен только для объявлений class, struct.
Кажется, что Ria Services пытается рассматривать интерфейс как единое целое? Как мы можем решить эту проблему?
С уважением,
Стефан