С DataContext и пустым файловой базой данных, которая уже существует , возможно ли написать классы контекста данных (т.е. те, которые я добавил дизайнеру) создать схему БД?
В контексте данных я вижу только следующие возможности:
- создать новый файл базы данных и создать его структуру одновременно,
- или для заполнения данных в существующей базе данных, имеющей существующую схему.
Я ищу гибридное решение между этими двумя мирами.
Обновление 1 (дополнительная информация): Мое доказательство того, что существующая база данных не совместима с контекстом данных Операция CreateDatabase () - это ошибка
База данных
'C: ... \ App_Data \ IntermediateData.mdf'
уже существует. Выберите другой
имя базы данных.
на основе этого кода
using (IntermediateClassesDataContext intermediateContext = new IntermediateClassesDataContext(_getIntermediateConn())) {
intermediateContext.CreateDatabase();
}
и используется эта запись web.config (очищенная для SO):
<connectionStrings>
<add name="IntermediateData" providerName="System.Data.SqlClient" connectionString="Data Source=W500\SQLEXPRESS;AttachDbFilename=C:\Webapp\App_Data\IntermediateData.mdf;Integrated Security=True;User Instance=True"/>
... и упомянутая база данных уже существует на диске с соответствующими правами доступа.
Обновление 2 (уточнение):
Контекст и причины = Права доступа к файлам и безопасность
Я не хочу давать разрешение пользователю писать новые файлы в каталоге данных веб-сайта (что пытается сделать CreateDatabase); однако я не против, если пользователь может записать схему и данные в существующий файл данных. Если жизнеспособного решения не существует, я могу войти и открыть разрешения.
Что я сделал, чтобы создать здесь, так это создал группу новых классов на пустом холсте DataContext, как показано ниже. Они представляют схему, которую я хочу сохранить в существующей пустой базе данных:
альтернативный текст http://img8.imageshack.us/img8/5903/sampledm.png