Я пытаюсь создать базу данных SQL CE 4.0, используя Entity Framework 4.2 и сначала объект.
Мои классы определены в службе WCF.
У меня есть один базовый класс:
public class BaseData
{
public DateTime LastUpdated { get; set; }
public int StatusTypeId { get; set; }
public StatusType StatusType { get; set; }
public RecordStatusEnum RecordStatus { get; set; }
}
и один унаследованный класс:
public class JobType : BaseData
{
public int JobTypeId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int SortOrder { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
Когда базовый класс сериализуется WCF, он добавляет свойство ExtensionDataObject
public partial class BaseData : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
Это приводит к сбою EF при созданиитаблица из класса JobType со следующей ошибкой:
Не указано сопоставление для свойств JobType.ExtensionData в Set JobTypes
Как обойти это?