СЭД «ДЕЛО»
Руководство пользователя
×

6.3.5 Поиск объектов

Поиск объектов можно производить через IDataContext, либо используя методы расширения, для прогона запроса через конвейер middleware.
Пример запроса поиска объектов:
// Запрос поиска объектов
InContext((db, serviceProvider) =>
{
      var userId = DaemonsDomain.Instance.LoadDomainConfiguration().UserID;
      var userService = serviceProvider.GetRequiredService<UserCachingService>();
      var user = userService.GetUserAsync(userId).Result;
      //Простой запрос
      var docRc = db.DocRcs
            .Where(p => p.IsnDoc == 1 && EF.Functions.Like("тест", p.Annotat + "%"))
            .AsNoTracking()
            .FirstOrDefaultAsync().Result;
 
      //Запрос с заходом через middleware
      var queryContext = MiddlewareHelper.CreateQueryContext(db, user, null, ExtProtOperationType.Query);
 
      var docRc2 = db.DocRcs.Where(p => p.IsnDoc == 1)
            .AsNoTracking()
            .FirstOrDefaultAsync(serviceProvider, new QueryContext<IDocRc>(queryContext)).Result;
});
Онлайн помощь создана в Dr.Explain