大家好,我有一个数据库,其中有一些名为
[Options],[ProductAttributes],[Products],[ProductSKU],[ProductSKUOptionMappings]
我已将此作为实体模型添加到我的项目中,现在我想为此编写一个 linq 查询,我可以从上面指定的表中获取这些列
基于这个存储过程
ALTER procedure [dbo].[GetProductDetail]
(
@ProductID bigint
)
as
begin
Select P.ProductName, P.ProductDescription, PA.SKU, PA.OptionId,O.OptionName, PA.Value, PS.ImageURL from ProductSKU PS
INNER JOIN ProductAttributes PA ON PS.SKU = PA.SKU
INNER JOIN Products P ON P.ProductId = PS.ProductId
INNER JOIN Options O ON O.OptionsId = PA.OptionId
WHERE PS.ProductId = @ProductID
end
我想将此查询转换为 linq 查询或将其用作 Storedprocedure 来获取我所需的 Json 对象
我的存储过程的输出看起来像这样
ProductName ProductDescription SKU OptionId OptionName Value ImageURL
Tactical Long Sleeve Shirts Hemline side slits Shirt_1001 1 Color Grey C:\Users\Administrator\Desktop\Images\LongSleeveShirt.jpg
Tactical Long Sleeve Shirts Hemline side slits Shirt_1001 2 Size S C:\Users\Administrator\Desktop\Images\LongSleeveShirt.jpg
Tactical Long Sleeve Shirts Hemline side slits Shirt_1001 3 Fit Regular C:\Users\Administrator\Desktop\Images\LongSleeveShirt.jpg
每个产品可能有不同的 SKU,像上面这样,所以任何人都可以在这里帮助我如何构建我的 json 对象,看起来像这样
i want my json object to be in this format
var productdetails={
"productId": "1",
"productname": "Casualshirts",
"productSkus": [
{
"Skuimage": "URL",
"SKU": [
{
"ProducSKU": "Shoe1001",
"Options": [
{
"productOptions": [
{
"OptionID": "1",
"optionname": "Color",
"value": "Black"
},
{
"OptionID": "2",
"optionname": "Size",
"value": "S"
},
{
"OptionID": "3",
"optionname": "Fit",
"value": "Regular"
}
]
}
]
},
{
"ProducSKU": "Shoe1002",
"Options": [
{
"productOptions": [
{
"OptionID": "1",
"optionname": "Color",
"value": "Black"
},
{
"OptionID": "2",
"optionname": "Size",
"value": "S"
},
{
"OptionID": "3",
"optionname": "Fit",
"value": "Regular"
}
]
}
]
},
{
"ProducSKU": "Shoe1003",
"Options": [
{
"productOptions": [
{
"OptionID": "1",
"optionname": "Color",
"value": "Black"
},
{
"OptionID": "2",
"optionname": "Size",
"value": "S"
},
{
"OptionID": "3",
"optionname": "Fit",
"value": "Regular"
}
]
}
]
}
]
这是我的模型课
public class ProductItems
{
public long ProductID { get; set; }
public string ProductName { get; set; }
public string ImageURL { get; set; }
public List<productSKU> SKUs { get; set; }
}
public class productSKU
{
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;}
}
任何人都可以帮助我如何构建我的存储过程或 linq 查询如上 json pbjkect 在此先感谢...
这就是我试图将我的数据绑定到我的模型的方式
public IEnumerable<ProductItems> ProductDeatils(long ProductID)
{
var productdeatils = products.ExecuteStoreQuery<ProductItems>("GetProductDetail @ProductID ", new SqlParameter("@ProductID", ProductID));
var data=new List<ProductItems>();
foreach (var prod in productdeatils)
{
ProductItems items = new ProductItems();
items.ProductID = prod.ProductID;
items.ProductName = prod.ProductName;
items.SKUs
}
return data;
}
我被我的类中的属性数量和我从我的程序中检索的数据库列的数量困住了我如何将它们映射到我的模型