5

मैं पहले इकाई फ्रेमवर्क 4.1 कोड का उपयोग करता हूं। और मेरे पास क्लासिक नमूना है: ऑर्डर और ऑर्डरलाइन। प्रत्येक ऑर्डरलाइन की अपनी कीमत होती है और मैं ऑर्डर पर संपत्ति कुलप्रकाश चाहता हूं।इकाई फ्रेमवर्क कोड में पहले संपत्ति (जैसे कुलप्रकाश) को मानचित्र कैसे करें

मुझे अब कुलप्रकाश संपत्ति घोषित करने के लिए निश्चित नहीं है। मैं इसे linq sum के साथ केवल पढ़ने के रूप में परिभाषित कर सकता हूं, लेकिन जब भी मैं इसे परिणामसेट में जोड़ता हूं, तो उसे सभी ऑर्डरलाइनों को डीबी से इसकी कीमतों में जोड़ना होगा।

मैं समाधान के बारे में सोच रहा हूं, जो डेटाबेस में कुल प्रश्नों को संग्रहीत करता है (क्वेरी के लिए) और ऑर्डर बचाने से पहले पुन: गणना करता है (या ऑर्डरलाइन बदलता है), लेकिन मैं ऐसा नहीं करता हूं।

ईएफ में इस तरह के परिदृश्य कैसे संभालें? सुझाव पेट्र

उत्तर

0

सरलता के लिए के लिए

धन्यवाद, मैं भंडारण नहीं और सिर्फ एक आंशिक वर्ग के लिए एक गणना पद्धति को जोड़ने की सिफारिश करेंगे। हमने इसे *Methods प्रत्यय के साथ पहले किया है।

Order.cs:

public partial class Order 
{  
    public ICollection<OrderLine> OrderLines { get;set; } 
    //Other EF Properties 
} 

OrderLine.cs:

public partial class OrderLine 
{  
    public double Price { get;set; } 
    //Other EF Properties 
} 

OrderMethods.cs

public partial class Order 
{ 
    public double GetTotalPrice() 
    { 
     // Total price calculation 
    } 
} 
+0

यह समाधान डीबी में कुलप्रकाश को स्टोर नहीं करता है, इसलिए यदि मुझे इसे प्रदर्शित करने की आवश्यकता है तो मुझे हमेशा पुन: गणना करना होगा, और यही वह है जिसे मैं टालना चाहता हूं। – Petr

+0

इस परिदृश्य में, 'ऑर्डर' आपकी कुल जड़ है, इसलिए यह समझ में आता है कि आप हमेशा 'ऑर्डरलाइन' उदाहरणों के अपने संग्रह के साथ 'ऑर्डर' के संदर्भ में काम करेंगे - वे या तो आलसी लोड होंगे या लोड होंगे 'ऑर्डर'। तो जब आप एक और 'ऑर्डरलाइन' जोड़ते हैं, तो गणना कुल मूल्य मनमानी हो जाती है और इसे स्टोर करने का कोई वास्तविक कारण नहीं है। – ataddeini

+0

जब मैं ऑर्डर (नाम, ग्राहक और कुलप्रकाश) की सूची प्रदर्शित करता हूं, तो मैं प्रत्येक आदेश के लिए ऑर्डरलाइन लोड करने से बचना चाहता हूं – Petr

0

स्टोर करने के लिए कुल कीमत प्रदर्शन है मेरे कारण उदाहरण के लिए। मेरे पास पहले से ही अनुबंध वर्ग है, जिसमें ऑर्डर शामिल हैं (और कुलप्रकाश संपत्ति भी है)। जब मैं कुल मूल्य संग्रहित नहीं करता हूं, और अनुबंधों की चयन सूची (उदाहरण के लिए ग्रिड करने के लिए) चाहता हूं, तो उसे हमेशा सभी ऑर्डर और इसकी लाइनों को पढ़ना होगा।

संबंधित मुद्दे