Схема динамических данных для динамических данных ASP.NET

Я прочитал руководства по динамическим данным ASP.NET, и все они требуют, чтобы вы создали статический контекст данных.

То есть вы должны сгенерировать модель данных, используя Entity Framework или Linq to SQL, и если схема для этой модели когда-либо изменится, вам нужно перейти в Visual Studio и изменить модель соответствующим образом.

Я ищу решение, которое будет обрабатывать изменения в схеме (например, новая таблица или новый столбец) без необходимости перестраивать в Visual Studio.

Возможно ли это с помощью динамических данных ASP.NET?

1 ответ

Не совсем, ваш выбор: Entity Framework или Linq to SQL. Оба генерируют группу классов со свойствами и атрибутами getter и setter, которые детализируют метаданные, это делается автоматически, когда вы перетаскиваете таблицы базы данных в контекст данных.

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

Хотя я ценю, что таблицы и столбцы базы данных меняются, конечно, частые изменения в базе данных нарушают обслуживание конечных пользователей?

Единственный обходной путь - запуск SqlMetal http://msdn.microsoft.com/en-us/library/bb386987%28v=vs.110%29.aspx каким-либо автоматическим способом, например запланированной задачей, выполняющей сценарий PowerShell или пакетный файл. Однако это потребует повторной компиляции и повторного развертывания, что также будет прерывать конечных пользователей, если это не будет сделано, когда никто не использует его.

Кроме того, это даст вам только базовые экраны "Новый", "Просмотр", "Редактировать" - не представляйте, как они могут быть полезны для чего-либо, кроме действительно быстрого и грязного приложения.

Было бы здорово, если бы динамические данные могли делать то, что вы просите.

Вы можете использовать SqlMetal.exe из командной строки для генерации классов, я думаю, Visual Studio делает это негласно.

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