Я хотел бы знать, как я могу установить EntityCollection в проекции Linq.Ниже мой код:
var orders = (from order in context.Orders
select new
{
reference = order.reference,
pe = order.OrderExecutions //this is an EntityCollection
})
.AsEnumerable()
.Select(o =>
(Orders)new Orders
{
reference = o.reference,
OrderExecutions = o.pe
}
).ToList().AsQueryable();
(Этот код кажется странным, но он должен быть таким, чтобы работать в сетке telerik)
Инструкция OrderExecutions = o.pe
связана с этой ошибкой:
Коллекция EntityCollection уже инициализирована.Метод InitializeRelatedCollection следует вызывать только для инициализации новой коллекции EntityCollection во время десериализации графа объекта.
OrderExecutions - это коллекция EntityCollection, содержащаяся в объекте Orders.
Как можно избежать этой ошибки?Есть идеи?
Стоит ли изменять сгенерированный код в объекте Order?
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[EdmRelationshipNavigationPropertyAttribute("PModel", "FK__orderExec__refer__70DDC3D8", "OrderExecutions")]
public EntityCollection<OrderExecutions> OrderExecutions
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<OrderExecutions>("PModel.FK__orderExec__refer__70DDC3D8", "OrderExecutions");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<OrderExecutions>("PModel.FK__orderExec__refer__70DDC3D8", "OrderExecutions", value);
}
}
}
Заранее спасибо.