我在SQL查询中遇到了建模逻辑的问题。 以下是我为此项目创建的表格。
首先是我的产品表
public partial class Products
{
public Products()
{
this.Orders_Products = new HashSet<Orders_Products>();
this.ShoppingCarts_Products = new HashSet<ShoppingCarts_Products>();
}
public int ProductId { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public int PPB { get; set; }
public int CategoryId { get; set; }
public virtual Categories Categories { get; set; }
public virtual ICollection<Orders_Products> Orders_Products { get; set; }
public virtual ICollection<ShoppingCarts_Products> ShoppingCarts_Products { get; set; }
}
然后是ShoppingCart表
public partial class ShoppingCarts
{
public ShoppingCarts()
{
this.ShoppingCarts_Products = new HashSet<ShoppingCarts_Products>();
}
public int ShoppingCartId { get; set; }
public string UserId { get; set; }
public System.DateTime CreationDate { get; set; }
public virtual AspNetUsers AspNetUsers { get; set; }
public virtual ICollection<ShoppingCarts_Products> ShoppingCarts_Products { get; set; }
}
至少是
之间的连接表public partial class ShoppingCarts_Products
{
public int ShoppingCartId { get; set; }
public int ProductId { get; set; }
public int Count { get; set; }
public virtual Products Products { get; set; }
public virtual ShoppingCarts ShoppingCarts { get; set; }
}
现在我需要获取我自己的ShoppingCart中所有产品的列表。 我应该创建什么样的模型?
我知道我需要编写一个sql语句,其中包含两个维护项并将它们与连接表合并。 但我不能在互联网上找到任何标题。 有人知道样品或者可以给我一个提示,如何解决这个问题?
在此步骤之后,我需要在布局网站上显示该视图。
好的,我将尝试使用LINQ to SQL格式编写查询。现在我尝试在我的布局边上将此视图显示为部分视图。
@Html.Partial("_ShoppingCartPartial", Html.Action("MyShoppingCart","ShoppingCarts"))
// GET: MyShoppingCart
public List<ShoppingCarts_Products> MyShoppingCart()
{
List<ShoppingCarts_Products> myproducts = db.ShoppingCarts_Products.Where(i => i.ShoppingCartId == 1).ToList();
return myproducts;
}
由于
答案 0 :(得分:0)
你可以尝试:
select * from ShoppingCarts_Products
where ShoppingCarts_Products.ShoppingCartId = <variable>
left join ShoppingCarts on ShoppingCarts.ShoppingCartId = ShoppingCarts_Products.ShoppingCartId
left join Products on ShoppingCarts.ProductId = Products.ProductId
此外,展开字段选择条件以仅选择所需的字段。