У меня возникли некоторые проблемы при выполнении запроса LINQ из класса LINQ2SQL, который наследуется от базового абстрактного класса.
[DataContract]
public abstract class AbstractClass
{
[DataMember]
public abstract int Foo { get; set; }
}
// LINQ2SQL class.
[DataContract]
public class ConcreteClass : AbstractClass
{
[DataMember]
public override int Foo { ... }
}
Проблема возникает, когда я пытаюсь выполнить запрос LINQ для своего конкретного класса,Я получаю SystemException, говоря: «Член класса AbstractClass.Foo не сопоставлен».Запрос будет выглядеть примерно так:
// Sample LINQ query.
result = from c in dataContext.ConcreteClasses where c.Foo == 42 select c;
Обратите внимание, что запрос относится к CocnreteClass, но ошибка в AbstractClass.Есть идеи, что здесь происходит?