Дочерние объекты не фильтруются в EF Core с MySQL .netcore Web API - PullRequest
0 голосов
/ 03 мая 2020

У меня есть 2 класса, как ниже

public partial class Companies 
{
        public string Name { get; set; }
        public string Logo { get; set; }
        public bool IsActive { get; set; } = true;
        public bool IsVerified { get; set; }

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

}

public partial class Branches
{
        [ForeignKey("Companies")]
        public string CompaniesId { get; set; }
        public string Name { get; set; }
        public string Lat { get; set; }
        public string Lng { get; set; }
        public string City { get; set; }
        public string SeoURL { get; set; }
        public string Address { get; set; }
        public string ContactNo { get; set; }
        public string SupportEmail { get; set; }

        public bool IsHeadOffice { get; set; }
        public bool IsOffline { get; set; }

        public virtual Companies Companies { get; set; }
}

И с моими результатами я пытаюсь отфильтровать только определенную ветвь

 var shops = await _shopInTimeContext.Companies.Where(com => com.IsActive == true && com.IsVerified == true)
                                             .Include("Branches")
                                             .Where(c => c.Branches.Any(b => b.City == cityName && b.Name == branchName && b.IsOffline == false))
                                             .ToListAsync<Companies>();
                return shops;

С этим контекстным утверждением я получаю конкретной компании, если я передам Город = Дубай и Имя = Мотор

Но главная проблема, которую я получаю и во всех других филиалах.

[
    {
        "name": "Saheel",
        "logo": "/store-logo/36832ac5-2e43-4e1a-b57f-e4524ff76c99.png",
        "branches": [
            {
                "name": "Sports",
                "lat": "",
                "lng": "",
                "city": "Dubai",
                "seoURL": "/dubai/saheel/saheer-carrefour",
                "address": "Sports City Dubai",
                "contactNo": "+971123123123",
                "supportEmail": "example@yopmail.com",
                "isHeadOffice": false,
                "isOffline": false
            },
            {
                "name": "Motor",
                "lat": "",
                "lng": "",
                "city": "Dubai",
                "seoURL": "/dubai/saheel/sha-seher-carrefour",
                "address": "Motor City Dubai",
                "contactNo": "+971123123123",
                "supportEmail": "example1@yopmail.com",
                "isHeadOffice": false,
                "isOffline": false
            }
        ]
    }
]

Я использую .netcore 3.1 Pomelo. EntityFrameworkCore. MySql

Я искал много блогов, но не нашел решения для этого, где я поступаю неправильно.

Пожалуйста, помогите

...