вопрос касается .NET Core 2. Я не использую ORM, потому что мое приложение не является простым CRUD, поэтому я пишу SQL-запросы самостоятельно (я использую EntityFramework только для идентификации пользователя).
Нотеперь у меня проблема.Оказывается, у меня должно быть несколько почти одинаковых методов в моем сервисе, которые возвращают набор данных.Они практически одинаковы, но SQL-предложения WHERE отличаются.Поэтому я подумал о том, чтобы иметь один метод с лямбда-выражением, чтобы я мог написать что-то вроде:
service.GetRecords<Person>(p => p.FirstName == "Jack" && p.City == "NY");
Но я не нашел способа достичь этого без ORM, используя просто ADO .NET.Есть какой-нибудь готовый инструмент для этого?Мне не нужно создавать полный SQL-запрос.Мне просто нужно создать предложение WHERE, например:
"FirstName = 'Jack' and City = 'NY'"
Я пытался написать что-то сам (с помощью System.Linq.Expressions), но это действительно отнимает много времени.Так есть ли лучший способ или готовый к использованию инструмент?
Другая вещь, которая бы меня устраивала (было бы даже лучше), была бы, если бы был способ объединить IDataReader
с IQueryable
.