Есть 2 модели. Между ними связь многие ко многим. Вот они:
public class Orders
{
public int Id { get; set; }
public DateTime OrderDate { get; set; }
public string Status { get; set; }
public double TotalPrice { get; set; }
public int ClientsId { get; set; }
public virtual Clients Clients { get; set; }
public int? WorkingId { get; set; }
public virtual Working Working { get; set; }
public virtual ICollection<Spares> Spares { get; set; }
public Orders()
{
Spares = new List<Spares>();
}
}
public class Spares
{
public int Id { get; set; }
public string SparePartName { get; set; }
public double Price { get; set; }
public int Count { get; set; }
public string WinCode { get; set; }
public virtual ICollection<Orders> Orders { get; set; }
public Spares()
{
Orders = new List<Orders>();
}
}
Мне нужно достать все Spares, у котрых входит в коллекцию конкретный Order который я задаю. Я попробовал вот как:
var tmp = db.Spares.Include(s => s.Orders.Where(o => o.Id == order.Id));
order.Id это мой order который у меня получен ранее в коде.
Но при такой попытке у меня выскочила ошибка:
Подскажите пожалуйста что я делаю не так? Как можно вытащить необходимые мне данные?
Если я правильно понял задачу, то вы хотите
var tmp = db.Spares.Where(s => s.Orders.Any(o => o.Id == 123));
С Include (если вдруг вам нужен) то это будет
var tmp = db.Spares.Include(x => x.Orders).Where(s => s.Orders.Any(o => o.Id == 123));
Но похоже, что вам Include особо не нужен, просто вы не так поняли, для чего он применяется.
Как работать со связями многие-ко-многим?
Делаю клиент-серверную игру на 2х игроковСервер ждет пока 2 игрока пришлют информацию и затем рассылает друг друг
Как можно переопределить метод ToString() для коллекции?
Нужна помощь с преобразованием таблицы в сводную диаграмму, таблица формируется из datagridview в excel через epplus, на скринах пример таблицы и сводной...