Методы работы с сущностью Метод CreateDatabase () не создает хранимую процедуру - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть СУБД SQL Server 2008, и я создал EDM (сгенерированный из базы данных), мое приложение почти завершено, и все отлично работает.

Однако в моем приложении я хочу разрешитьКонечный пользователь создал базу данных, поэтому я создал форму, позволяющую пользователю указать имя сервера и базы данных, и предоставил кнопку «Создать».Когда пользователь нажимает кнопку «Создать», на указанном сервере создается новая база данных.Для этого я использовал метод CreateDatabase(), подобный следующему:

string connString = ...;
MyEntity context = new MyEntity(connString);
context.CreateDatabase();

Код работает, и база данных создана.Моя проблема в том, что этот метод не создает хранимых процедур.Пожалуйста, помогите мне и дайте мне знать, если есть другой способ сделать это.

PS: когда я генерировал EDM из базы данных, я выбрал его для включения в EDM, и я использовал функцию import для использованияэта хранимая процедура в моем коде, чтобы убедиться, что она включена в мой EDM.

1 Ответ

4 голосов
/ 18 апреля 2011

Это никогда не создаст хранимые процедуры для вас. Как EDMX должен знать, какая логика включена в хранимые процедуры? Одной из характеристик хранимых процедур является то, что они оборачивают / скрывают свою реализацию, поэтому вызывающая сторона знает только имя, параметры и результат, но не внутренние компоненты. Вы должны включить сценарий создания хранимых хранимых процедур в отдельный файл / ресурс и выполнить его после создания базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...