エンティティ モデルにこれらのテーブルがあります
dbo.Options
[OptionsId] [OptionName]
1 Color
2 Size
3 Fit
dbo.ProductAttributes
:
[ProdcutAttributeId] [SKU] [OptionId] [Value]
3001 Shirt_1001 1 Grey
3002 Shirt_1001 2 S
3003 Shirt_1001 3 Regular
3004 Shirt_1002 1 Black
3005 Shirt_1002 2 M
3006 Shirt_1002 3 Slim
dbo.Products
:
[ProductId [ProductName] [ProductDescription] [Stock] [ImageURL] [ProductType]
dbo.ProductSKU
:
ID SKU ProductId Price ImageURL
2001 Shirt_1001 1001 12 C:\Users\Administrator\Desktop\Images\LongSleeveShirt.jpg
2002 Shirt_1002 1001 13 C:\Users\Administrator\Desktop\Images\LongSleeveShirtBlack.jpg
2003 Shirt_1003 1001 12 C:\Users\Administrator\Desktop\Images\LongSleeveShirtkhaki.jpg
2004 Shirt_1004 1001 13 C:\Users\Administrator\Desktop\Images\LongSleeveShirtOrange.jpg
2005 Tshirt_1001 1002 13 C:\Users\Administrator\Desktop\Images\PlainWhiteT.jpg
2006 Tshirt_1002 1002 12 C:\Users\Administrator\Desktop\Images\PrintedTBlue.jpg
2007 Tshirt_1003 1002 13 C:\Users\Administrator\Desktop\Images\PrintedTWhite.jpg
2008 Tshirt_1004 1002 12 C:\Users\Administrator\Desktop\Images\LongSleeveBlackT.jpg
これらは私のエンティティ モデルにあるテーブルです。今度は、productID
as パラメーターを渡す linq クエリを作成しproductid,productname,productdescription
、productid
渡されたのをパラメーターとして取得する必要があります。すべてSku
の製品には、sku が持つ各オプションがあり、imageURl
SKUの。
このためのlinqクエリを作成するにはどうすればよいですか?
これが私のモデルの外観です
public class ProductItems
{
public long ProductID { get; set; }
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public string ImageURL { get; set; }
public string SKU { get; set; }
public long OptionID { get; set; }
public string optionName { get; set; }
public string Value{ get; set; }
public ProductItems()
{
if (SKUs == null )
SKUs = new List<productSKU>();
}
public List<productSKU> SKUs { get; set; }
public List<options> oPTIONS { get; set; }
}
public class productSKU
{
public productSKU()
{
if (oPTIONS == null)
oPTIONS = new List<options>();
}
public string productsku { get; set;}
public string SKUImageURL { get; set;}
public List<options> oPTIONS { get; set; }
}
public class options
{
public long OptionID { get; set; }
public string OptionName { get; set;}
public string OptionValue { get; set;}
}
今、クラスにバインドprodcuname,description
したいと思います。すべての SKU の詳細をクラスにバインドし、それぞれをオプション クラスにバインドする必要があります。prodid
ProductItems
ProductSku
SKuOption
これらの列を最後に取得[ProductID ],[ProductName ],[ProductDescription ],[SKU],[OptionId],[OptionName],[Value],[ImageURL]
する必要があります。必要なのはProductName,Description
、製品のすべての SKU、すべてのオプション値、および製品の名前です。
これは私がやろうとしていることですが、これをモデルにバインドする方法がわかりません
var produ = from PS in products.ProductSKUs
join PA in products.ProductAttributes on PS.SKU equals PA.SKU
join p in products.Products on PS.ProductId equals p.ProductId
join o in products.Options on PA.OptionId equals o.OptionsId
where PS.ProductId==ID
select new ProductItems()
{
ProductID=p.ProductId,
ProductName=p.ProductName,
ProductDescription = p.ProductDescription,
私はここで立ち往生しています。ここから次に何をすべきか、誰かがここで私を助けてくれるか、解決策を提供してくれますか?