मैं TblRequestionDetail (चाइल्ड टेबल) से TblRequireitionMaster (पैरेंट टेबल) और isActive==true रिकॉर्ड्स से एक रिकॉर्ड निकालने का प्रयास कर रहा हूं। आपका मार्गदर्शन सराहनीय रहेगा...

मैं .NET कोर 3.1 और एफई कोर का उपयोग कर रहा हूँ। मुझे एंटिटी फ्रेमवर्क कोर वर्क-अराउंड चाहिए, न कि थर्ड-पार्टी टूल्स वर्क-अराउंड जैसे ईएफ +।

यह मेरा भंडार कार्य है।

public TblRequisitionMaster GetRequisitionMaster(int reqNo, byte companyId)
        {
            Company_CHLContext context = new Company_CHLContext(companyId);
            return context.TblRequisitionMaster.Include(i => i.TblRequestionDetail).SingleOrDefault(s => s.RequestionNo == reqNo && s.RecordStatus.Equals("AC") );
            
        }

कक्षा विवरण

public partial class TblRequisitionMaster
    {
        public TblRequisitionMaster()
        {
            TblRequestionDetail = new HashSet<TblRequestionDetail>();
        }

        public int RequestionNo { get; set; }
        public string ReqNo { get; set; }
        

        public virtual ICollection<TblRequestionDetail> TblRequestionDetail { get; set; }
    }

public partial class TblRequestionDetail
    {
        public int RequestionNo { get; set; }
        public byte SequenceNo { get; set; }
        public int ItemId { get; set; }
        public bool? IsActive { get; set; }

        public virtual TblRequisitionMaster RequestionNoNavigation { get; set; }
    }
1
Hashan 5 नवम्बर 2020, 16:52

1 उत्तर

सबसे बढ़िया उत्तर

फ़िल्टर शामिल करें केवल EF Core 5 . से शुरू करके उपलब्ध हैं

लेकिन आप क्वेरी फ़िल्टर निर्दिष्ट कर सकते हैं जिसे फ़िल्टर करना शुरू करना चाहिए जिसमें स्वचालित रूप से शामिल है .

modelBuilder.Entity<TblRequestionDetail>().HasQueryFilter(d => d.Active == true);

अगर आपको फ़िल्टर न किए गए निकायों को पुनः प्राप्त करने की आवश्यकता है: IgnoreQueryFilters< लागू करें / ए> ऑपरेटर।

1
Svyatoslav Danyliv 5 नवम्बर 2020, 14:19