Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एकाधिक नेस्टेड कॉलम से एक विशिष्ट स्ट्रिंग का चयन करने के लिए सी # में लिंक का उपयोग कैसे करें?

सबसे पहले, कृपया मॉडल को ठीक करें ताकि संग्रहों में बहुवचन नाम हों और ऑब्जेक्ट एकल हों, अन्यथा आपका कोड बहुत भ्रमित हो जाएगा:

building.cs
  public List<Battery> Batteries { get; set; }

battery.cs
  public long BuildingId { get; set; }
  public Building Building { get; set; }
  public List<Column> Columns { get; set; }

column.cs
  public long BatteryId { get; set; }
  public Battery Battery { get; set; }
  public List<Elevator> Elevators { get; set; }

elevator.cs
  public long ColumnId { get; set; }
  public Column Columns { get; set; }

अब मॉडल में कुछ और गुण जोड़ते हैं ताकि यह हमें हस्तक्षेपों के बारे में बता सके:

building.cs
  public List<Battery> Batteries { get; set; }

  [NotMapped]
  public bool IsInIntervention => this.Status == "Intervention" || Batteries.Any(b => b.IsInIntervention);

battery.cs
  public long BuildingId { get; set; }
  public Building Building { get; set; }
  public List<Column> Columns { get; set; }

  [NotMapped]
  public bool IsInIntervention => this.Status == "Intervention" || Columns.Any(c => c.IsInIntervention);


column.cs
  public long BatteryId { get; set; }
  public Battery Battery { get; set; }
  public List<Elevator> Elevators { get; set; }

  [NotMapped]
  public bool IsInIntervention => this.Status == "Intervention" || Elevators.Any(e => e.IsInIntervention);


elevator.cs
  public long ColumnId { get; set; }
  public Column Column { get; set; }

  [NotMapped]
  public bool IsInIntervention => this.Status == "Intervention";


अब आप बस एक इमारत से पूछ सकते हैं कि क्या यह इनइंटरवेंशन है और यह कहेगा कि हाँ अगर यह है या यदि इसका स्वामित्व है तो यह है

नोट:यदि मॉडल को इकाइयों के साथ लोड नहीं किया गया है तो आपको इस तरह की एक चाल को नियोजित करने की आवश्यकता हो सकती है:EF कोर लिंक और कंडीशनल शामिल करें और फिर समस्या शामिल करें सशर्त रूप से उन्हें लोड करने के लिए



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL क्वेरी:यूनियन के साथ कैसे सम्मिलित करें?

  2. डेटाबेस में बैंक जानकारी संग्रहीत करने के लिए सर्वोत्तम अभ्यास

  3. auto_increment का उपयोग कर PHP लघु अद्वितीय आईडी पीढ़ी?

  4. MySQL:sql_mode को स्थायी रूप से सेट करना

  5. बिना डाउनटाइम के MySQL को Amazon EC2 से अपने ऑन-प्रेम डेटा सेंटर में माइग्रेट कैसे करें