Мне нужно создать службу WCF для возврата объектов, запрашиваемых из базы данных через Entity Framework.В большинстве статей, которые я прочитал, предлагается создать метод для каждого типа запроса.Но я думаю, что это приведет к взрыву числа методов, которые я создам, например:
- GetAllCars ()
- GetCarsByBrand (string brandName)
- GetCarsByYear(int year)
- GetCarsByBrandAndYear (строка brandName, int year)
- GetCarsByTireSize (float tyreSize)
- GetCarsByEngineType (string engineType)
- EngineCizeBySignEng, string engineType)
- GetCarsByEngineSizeBetween (float lowerEngineSize, float upperEngineSize)
- и т.д ..
Кроме того, если требуется новый запрос, то япотребуется создать новый метод для его поддержки.
Должен быть более общий способ сделать это.Что было бы идеально, если бы клиент мог создать дерево выражений через LINQ, отправить его через WCF, а затем выполнить запрос через инфраструктуру сущностей.Тогда у меня может быть один метод для поддержки всех запросов.Например:
- QueryCars (выражение выражения)
Или отправить выражение в виде строки:
- QueryCars (строковое выражение)
Как разработчики решили эту проблему гибких запросов?
В настоящее время я работаю в .NET 4.0.Безопасность на самом деле не является проблемой, поскольку это только внутреннее приложение.