Изо всех сил пытались исправить это в течение дня. Впервые в EF !!
Мне требуется собрать список продуктов вместе с дочерними коллекциями.
Мой Model.tt находится в DataModel.dll, и я ссылаюсь на это как в службе WCF, так и в моем клиенте. Когда у сущности есть дочерняя коллекция, я получаю эту ошибку. Думаю, это связано с публичной виртуальной коллекцией объекта. Как я могу это исправить?
Попытка вставить [KnownType (typeof (entity.Name))] в мой Model.tt поможет? Если да, то как получить сущность. Имя, передаваемое в моем Model.tt?
TRIED:
- Поместите атрибут [Serializable] в мой Model.tt
- LazyLoadingEnabled = "ложь"
ОШИБКА ЗАПИСАНА В ЖУРНАЛЕ TRACE:
Тип 'System.Data.Entity.DynamicProxies.Entity_Product_F540EDA252AD69FEA102E0C9AB0167D5397996ADA4679FA9C4089B58B9766924' с именем контракта данных «Entity_Product_F540EDA252AD69FEA102E0C9AB0167D5397996ADA4679FA9C4089B58B9766924: http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' не ожидается. Рассмотрите возможность использования DataContractResolver, если вы используете DataContractSerializer или добавляете любые типы, которые не известны статически, в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавляя их в список известных типов, передаваемых сериализатору.
Был ошибка при попытке сериализовать параметр http://tempuri.org/:GetAllProductResult. Сообщение InnerException был «Type„System.Data.Entity.DynamicProxies.Entity_Product_F540EDA252AD69FEA102E0C9AB0167D5397996ADA4679FA9C4089B58B9766924“с именем контракта данных» Entity_Product_F540EDA252AD69FEA102E0C9AB0167D5397996ADA4679FA9C4089B58B9766924: http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' не является ожидается. Рассмотрите возможность использования DataContractResolver, если вы используете DataContractSerializer или добавляете любые типы, которые не известны статически, в список известных типов - например, с помощью атрибута KnownTypeAttribute или добавляя их в список известных типов, передаваемых в сериализатор. '. Пожалуйста, смотрите InnerException для более подробной информации.
АВТО-ГЕНЕРАЦИЯ:
[Serializable]
public partial class Entity_Product
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Entity_Product()
{
this.tbl_ManufacturerDetail = new HashSet<Entity_ManufacturerDetail>();
this.tbl_ProductDetails = new HashSet<Entity_ProductDetails>();
}
public int ProductId { get; set; }
public string Administration { get; set; }
public string Manufacturer { get; set; }
public Nullable<decimal> Price { get; set; }
public Nullable<bool> IsEnabled { get; set; }
public Nullable<System.DateTime> CreatedOn { get; set; }
public string CreatedBy { get; set; }
public Nullable<System.DateTime> UpdatedOn { get; set; }
public string UpdatedBy { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Entity_ManufacturerDetail> tbl_ManufacturerDetail { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Entity_ProductDetails> tbl_ProductDetails { get; set; }
}