でXMLに私はこのようなクラスがあります。地図Entity Frameworkのプロパティデータベース
public class GeneralClass
{
public int Id {get; set;}
public string Name {get; set;}
}
かなり一般的なクラスです。私はまた、このような派生クラスを持っている:
public class DerivedClass: GeneralClass
{
public int SpecificProperty {get; set;}
public string AnotherSpecificProperty {get; set;}
public bool BooleanSpecificProperty {get;set;}
}
問題は、私は、データベース内の継承はオプションではありませんなぜthat's、私のアプリで派生クラス(10以上)の多くを持つことができる、です。 私が思いついた解決策は、GeneralClass
をテーブルとして使用し、特定のプロパティを含むXML列を使用することです。このような
何か:特定のプロパティは、派生クラスのプロパティを含む
CREATE TABLE
General(Id int primary key,
Name nvarchar(50),
SpecificProperties xml);
。
質問は次のとおりです。Entity Frameworkを使用してこのxml列を保存およびクエリする方法、およびxmlをプロパティに逆シリアル化する方法はありますか。 ありがとうございました!
私が知る限り、XMLクエリはEFでサポートされていません。ですから、選択後に述語を適用しなければならないと思います。 –