Я хотел бы создать Query Extension, который отображает модели базы данных для просмотра моделей, но я также хотел бы повторно использовать их для моделей отношений.
Сущность Customer имеет свойство
public virtual ICollection<Order> Orders { get; set; }
Исопоставление выполняется с помощью Query Extensions
var viewModelList = dbContext.Customers
.Include(a => a.Orders)
.ToCustomersModel()
.ToList();
public static IQueryable<CustomersModel> ToCustomersModel(this IQueryable<Customer> query)
{
return query.Select(customer => new CustomersModel
{
Id = customer.Id,
Name = customer.Name,
Orders = customer.Orders.AsQueryable().ToOrdersModel().ToList()
});
}
public static IQueryable<OrdersModel> ToOrdersModel(this IQueryable<Order> query)
{
return query.Select(customer => new OrdersModel
{
Id = order.Id,
ProductName = order.ProductName
});
. Выдает исключение
System.InvalidOperationException: 'Вторая операция началась в этом контексте перед завершением предыдущей операции.Любые члены экземпляра не гарантируют поточно-ориентированность. '
Я использую Entity Framework Core 2.1 и .net Core 2.1