Я пытаюсь сделать что-то вроде этого:
public class DataService : DataService<EmployeeCollection>
{
public IQueryable<EmployeeBase> GetEmployeeData(string EmpIdSubstring)
{
var employees = new List<EmployeeBase>();
employees.Add(new Level1Employee());
employees.Add(new Level2Employee());
return employees.AsQueryable();
}
}
Здесь:
Level1Employee
и Level2Employee
классы являются производными от EmployeeBase
class.
EmployeeBase
определение класса украшено [DataServiceKey("Id")]
.
EmployeeCollection
содержит IEnumerable<EmployeeBase>
.
Но когда я просматриваю эту службу в браузере, я получаю следующую ошибку:
Внутренняя ошибка сервера. Тип 'Level1Employee' не является сложным типом или типом сущности.
Я попытался переместить атрибут [DataServiceKey]
из класса EmployeeBase
в определения классов Level1Employee
и Level2Employee
. Но получаю ту же ошибку.
Обратите внимание, что служба работает нормально, если я возвращаю коллекцию сотрудников, содержащую элементы типа EmployeeBase
.
Возможно ли этого добиться? Любая помощь / указатели / идеи очень ценятся.