में उप संग्रह प्राप्त करें मेरे पास एक LINQ से EF क्वेरी है जो क्लास फॉर्म में डेटा लौटाती है। कक्षा में List<RecipeCategories>
संपत्ति है जिसे मुझे पॉप्युलेट करने की आवश्यकता है। पकाने की विधि कैटलॉग टेबल पकाने की विधि और पकाने की विधि श्रेणियों के बीच एक रिलेशनशिप टेबल है, और कई लोगों के लिए कई हो सकती है। कोड को संकलित करने के लिए मुझे पर्याप्त जानकारी मिली, लेकिन रनटाइम पर यह त्रुटियां और मैं यह समझने में सक्षम नहीं हूं कि यह अधिकार कैसे प्राप्त करें।सूची <class> फॉर्म
ri = (from r in recipeData.Recipes
where r.ID == recipeId
select new RecipeItem
{
Id = r.ID,
ProductId = r.Product.ID,
RecipeName = r.recipeName,
RecipeDescription = r.recipeDescription,
Servings = r.servings.HasValue ? r.servings.Value : 0,
CreatedDate = r.createdDate,
PrepTime = r.prepTime.HasValue ? r.servings.Value : 0,
CookTime = r.cookTime.HasValue ? r.servings.Value : 0,
Approved = r.approved,
RecipeInstructions = r.recipeInstructions,
RecipeIngredients = r.recipeIngredients,
RecipeCategories = r.RecipeCategories.Select(i => new RecipeCategoryItem { Id = i.ID, CategoryName = i.categoryName }).ToList()
}).First();
यह मुझे मिली त्रुटि है।
संस्थाओं को LINQ विधि को नहीं पहचानता है 'System.Collections.Generic.List
1[RecipeCategoryItem] ToList[RecipeCategoryItem](System.Collections.Generic.IEnumerable
1 [RecipeCategoryItem])' विधि, और इस विधि एक दुकान अभिव्यक्ति में अनुवाद नहीं किया जा सकता है।
जिस भाग पर मैं काम कर रहा हूं वह यह पंक्ति है।
RecipeCategories = r.RecipeCategories.Select(i => new RecipeCategoryItem { Id = i.ID, CategoryName = i.categoryName }).ToList()
पकाने की विधि कैटेगरी List<RecipeCategoryItem>
संपत्ति है।
क्या मैं संभव करने की कोशिश कर रहा हूं, और यदि हां, तो कैसे?
धन्यवाद।
मैं पहले अपने दूसरा तरीका है, लेकिन सी कोशिश की थी।पकाने की विधि किसी भी क्षेत्र का पर्दाफाश नहीं करती है, और मुझे लगता है कि ऐसा इसलिए है क्योंकि संबंध तालिका वास्तव में डेटा मॉडल में दिखाई नहीं देती है क्योंकि यह व्यंजनों और नुस्खा श्रेणियों के बीच एक लिंक तालिका है। मैंने पहली बार कोशिश की, लेकिन मुझे यकीन नहीं है कि अब linq क्वेरी को कैसे व्यवस्थित किया जाए। यह वही है जो मेरे पास है। [कोड] पकाने की विधि श्रेणियां = आर। पकाने की विधि श्रेणियां। चयन करें (i => नई पकाने की विधि श्रेणी {आईडी = i.ID, श्रेणी नाम = i.categoryName}) [/ कोड] – Ben
अंतिम टिप्पणी का समय समाप्त हो गया। मुझे यह त्रुटि मिलती है। IENumerable को पकाने की विधि नहीं बदल सकता है श्रेणी –
Ben
@बेन: यह व्यंजनों और पकाने की विधि की तरह लगता है श्रेणियों में कई से अधिक रिश्तों हैं, तो? मैंने तदनुसार अपना जवाब संपादित किया। मुझे बताएं कि वह आपके लिए कैसा रहा। मैंने पहली बार कहा था कि, आपको 'नया नुस्खा चुनें' '' 'नया चयन करने के लिए एक अज्ञात प्रकार का उपयोग करना होगा। फिर आपका दूसरा कदम इस अज्ञात वस्तु को लेना होगा और इसके डेटा के आधार पर एक नई पकाने की विधि बनाना होगा। – StriplingWarrior