किसी चयनित मुख्य श्रेणी की सभी बाल श्रेणियों में सभी उत्पादों को प्राप्त करने का सबसे अच्छा तरीका क्या होगा? लगभग 80 बाल श्रेणियों में 10000 उत्पाद प्राप्त करने का प्रयास कर रहा है लेकिन यह विधि बहुत धीमी है। कोई सुझाव? लिंक से एसक्यूएल सी # सभी बच्चे/उप-बच्चे में उत्पाद प्राप्त करें श्रेणियाँ बहुत धीमी
//list for the child categories
private List<int> catsChildList = new List<int>();
GetChildCats(123);
//get all the child categories of main category '123'
private void GetChildCats(int _parentCat)
{
var cats = (from c in db2.tbl_cart_categories
where c.ParentID == _parentCat
select new { c.CategoryID });
if (cats.Count() > 0)
{
foreach (var cat in cats)
{
int _cat = Convert.ToInt32(cat.CategoryID);
catsChildList.Add(_cat);
GetChildCats(_cat);
}
}
}
//Get the products
var products = (from p in db2.products_infos
where p.IsEnabled == true
group p by p.ProdID
into g where g.Any(x => catsChildList.Contains(Convert.ToInt32(x.CategoryID)))
SQL करने के लिए सी # और LINQ का उपयोग कर के बारे में 6 सेकंड लेता परिणाम
क्या आपके पास उचित अनुक्रमणिका हैं? एसक्यूएल के लिए यह इकाई ढांचा या linq है? –
क्या आपको श्रेणी आईडी को वर्चर से int में बदलने की अनुमति है? –
हाँ इंडेक्स हैं। यह एसक्यूएल के लिए लिंक है। श्रेणी आईडी int है लेकिन शून्य स्वीकार करता है। मुख्य श्रेणियाँ पैरेंट आईडी शून्य थैंक्स – vts