c# - LINQtoSQL Retrieving a table according to the values of another table where it has a many to many relationship with -
मेरे पास निम्न तीन तालिकाओं हैं:
LinqToSql के साथ मैं चाहूंगा InventoryItems जहां (pointsName = "स्तर" और pointsValue & lt; = maxStoreLevel) की सूची प्राप्त करने के लिए और pointsName = "खरीदें मूल्य" और
ध्यान दें कि maxStoreLevel एक पूर्णांक और यह है बिंदु पंक्ति का मान है जिसमें अंक = नाम = "स्तर" है
चूंकि आप किसी दूसरे स्थान के अंदर नहीं उपयोग कर सकते हैं, क्योंकि लिनक में, मुझे नहीं पता है कि उल्लिखित सूची को कैसे प्राप्त करना है।
अपडेट: यहां अनुरोध के अनुसार यूएमएल आरेख है
मेरे तालिकाओं में डेटा यहाँ व्याख्या करने के लिए:
MaxStoreLevel मान रहा है 1, "Hanzo हेलमेट" है PointsValue = 1 जहां pointsName = "level" और उसमें "खरीदें मूल्य" नामक एक बिंदु भी है, इसलिए यह पंक्ति वापस करनी चाहिए (वही एक ही मानदंड के साथ किसी अन्य इन्वेंटरीटीम्स के साथ जाती है)
ठीक है, तो यह लैम्ब्डा भाव के रूप में उतना ही सुंदर नहीं है और मैं अब भी थोड़े फजी हूँ कि पॉइंट्स नाम के बाद से क्लाज़ को कहाँ चाहिए, एक ही समय में स्तर और खरीदी मूल्य नहीं हो सकता है, लेकिन मुझे कहीं और बातचीत शुरू करने की आवश्यकता है मैं अनुमान लगाता हूं कि आपको अंक तालिका में 2 जोड़ना होगा, लेकिन जब से आप अपने सेटअप को अपने से बेहतर जानते हैं, तो मैं अनुमान लगाता हूं कि आप इसे लेने और इसे आवश्यकतानुसार संशोधित कर सकते हैं। मुझे पता है कि मैं क्या याद कर रहा हूँ करते हैं ...
वर आइटम = (context.InventoryItems में आइटम से itemPoints context.InventoryItemPoints में शामिल होने पर items.InventoryItemID itemPoints.InventoryItemID संदर्भ में अंक में शामिल होने के बराबर होती है। & amp; & amp; itemPoints.pointsID पर अंक points.pointsID जहां (;; & amp itemPoints.pointsValue == maxStoreLevel points.pointsName == "स्तर" & amp) के बराबर होती है points.pointsName == "खरीदें मूल्य" आइटम का चयन) .Distinct () ; मुझे मालूम था कि मूल पंक्तियां वापस नहीं लौटेगी क्योंकि पॉइंट के नाम के लिए कोई भी तरीका नहीं था, लेकिन आपके बाद के अद्यतन के आधार पर, मुझे लगता है कि आपको क्या चाहिए:
<कोड> वर आइटम = (context.InventoryItems में आइटम से items.InventoryItemID पर context.InventoryItemPoints में levelItemPoints में शामिल होने levelItemPoints.InventoryItemID context.Points में levelPoints में शामिल होने के बराबर पर levelItemPoints.pointsID levelPoints.pointsID संदर्भ में priceItemPoints में शामिल होने के बराबर होती है। आइटम पर इन्वेंटरी आईटम अंक। इन्वेंटरी इटैमैड मूल्य के बराबर है ItemPoints.InventoryItemID सम्मिलित मूल्यपॉइंट्स संदर्भ में। मूल्य पर अंकइटमपॉइंट। पीआईएनआईडी बराबर मूल्य पॉइंट्स पॉइंट आईडी जहां (लेवलपेइंट पॉइंट्स। नाम == "स्तर" & amp; स्तर; आईटीएमपॉइंट्स पॉइंट्स वैल्यू == मैक्सस्टोर लेवल) और amp; अंकनाम == "खरीदें मूल्य" आइटम चुनें)। (निस्संदेह);
Comments
Post a Comment