Entity Framework DBFirst Динамическая фильтрация запросов

То, что я пытаюсь достичь, это вместо того, чтобы добавлять условие where к некоторым запросам в каждом методе вручную, добавляя его автоматически.

Большинство объяснений, относящихся к этой теме, сделано в подходе Code First. До сих пор я пробовал некоторые библиотеки, такие как https://github.com/jbogard/EntityFramework.Filters, http://entityframework.dynamicfilters/. Также замечено, что в подходе DBFirst "OnModelCreating" никогда не срабатывает. Соглашения или фильтры не могут быть зарегистрированы.

Я строго избегаю использовать методы расширения, которые применяют фильтрацию, потому что у меня есть около 200 методов в коде, меняющихся там, где методы, вероятно, убьют меня.

Я инициализирую свой класс DBContext, как здесь;

  BlaBlaEntities db = null;

    public DeviceRepository(int? appliedCategoryID = 1)--constructor
    {
        db = new BlaBlaEntities();
        if (appliedCategoryID.HasValue && appliedCategoryID.Value > 0)
        {
            //trying to apply filter here
        }
    }

А потом вызывать такие методы, как

    public IQueryable<object> JsonGetAllDeviceType(int[] companies, int[] statusGroup)
    {
        var list = from d in db.DeviceType
                   where companyGroup.Contains(d.CompanyID) && statusGroup.Contains(d.Status)
                   select new { d.DeviceTypeID,d.DeviceTypeName};

        return list;
    }

Я надеюсь найти лучшее решение или пример, который успешно работает в DBFirst.

0 ответов

Другие вопросы по тегам