Использование "LINQ to SQL" и "WCF Data Services" поверх блока доступа к данным
В моем приложении схема базы данных сущностей создается после развертывания приложения на основе входных данных, полученных от конечного пользователя с помощью инструмента. Я не могу использовать Entity Framework в этой ситуации, так как моделирование невозможно без среды разработки (Visual Studio). Подход "Code First" также исключен, поскольку он потребует генерации кода, что может привести к ненужной сложности.
В любом случае мне нужен уровень доступа к данным. Поэтому я планирую внедрить блок приложений доступа к данным (DAAB) в свое решение. Используя объекты управления SQL (SMO), я могу выполнять DDL, а для доступа к данным я буду использовать DAAB.
Теперь вот мое замешательство. Могу ли я использовать технологию LINQ for SQL поверх DAAB? Я хочу, чтобы DAAB абстрагировал все сложности, связанные с доступом к данным, а затем использовал LINQ для запроса. У меня также есть ситуация, когда мне нужно предоставить данные объекта через интерфейс RESTful (читается как OData). Смогу ли я представить свои данные с помощью WCF Data Services через DAAB?
1 ответ
LINQ не поддерживается в DAAB. DAAB основан на старом добром подходе DataSet и DataReader. Этот пост имеет гораздо более подробный ответ относительно роли DAAB.
Поддержка LINQ в блоке доступа к данным Enterprise Library
Я еще не до конца понял ваш сценарий. Если ваша схема базы данных создается после развертывания, то как вы разрабатываете ваше интерфейсное приложение (поскольку никакой схемы не будет, если я правильно понял ваш вопрос).
Если схема создается после развертывания, какие функции имеются в развернутом приложении. Вы создаете пользовательские интерфейсы на лету, используя динамическую схему, которая моделируется конечным пользователем?
Пожалуйста, исправьте мое понимание также хорошо, если вы можете дать больше информации о вашем сценарии.