我從LINQ2SQL類繼承的基類抽象類運行LINQ查詢時遇到了一些問題。從抽象類繼承的LINQ查詢對LINQ2SQL/WCF類的異常
[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,但錯誤是在抽象類。任何想法這裏發生了什麼?
HRM,我相信,編譯器會自動生成一個參數的構造函數。無論如何,我試着根據你的建議添加一個非抽象的受保護的構造函數,但它並沒有幫助。 –