У меня эти таблицы для приложения электронной коммерции, и я создал эти таблицы в SQL, а затем добавил ADO.NET и выбрал Code First. Используемый код идентификации по умолчанию MVC Сначала:Запрос Linq для соединения таблиц Mvc Asp
Users: UserId(PK), FName, LName
Product: ProductId(PK), ProductName, ProductPrice, CategoryId(FK)
Category: CategoryId(PK), CategoryName
Orders: OrderId(PK), OrderTotal, UserId(FK)
OrderDetails: OdId(PK), OrderId(FK), ProductId(FK), Quantity
Каждый продукт относится к некоторым категориям. Пользователь может разместить заказ, а дальнейшая информация о заказе хранится в таблице OrderDetails.
Я хочу получить ПРОДУКТЫ на основе предыдущих покупок пользователей, которые я сохранил в таблице Order и OrderDetails.
Пример Если пользователь А покупает продукт «рубашка» из категории «Одежда», порядок хранится в таблице заказа и продукт Id хранится в таблице OrderDetails
Я написал это только, чтобы дать вам ребята идея (я надеюсь, что его ясно)
public ActionResult Index()
{
string user = User.Identity.GetUserName();
var q = db.OrderDetails.Where(m => m.Order.Email == user).ToList();
var query = (from pd in db.Products
join od in db.OrderDetails on pd.ProductId equals od.ProductID
join oo in db.Orders on od.OrderId equals oo.OrderId
where oo.UserId == user
select new
{
ProductName = pd.Name,
ProductPrice = pd.Price, // six value
}).ToList();
return View(query);
}
Вот скриншот диаграммы базы данных:
Этот вопрос ничем не отличается от вашего [последнего] (http://stackoverflow.com/questions/33959756), где я пытался вам помочь. Вполне вероятно, что вам совсем не нужно присоединиться, но, не зная отношений между вашими классами, мы не можем дать вам конкретного ответа. – spender
@spender Извините, но я дал вам ответ там, где я могу предоставить классы. Его просто у меня нет много времени для этого задания, над которым я работаю. – user3395667
В чем проблема с запросом LINQ, который вы написали? –