Как загрузить внешнюю библиотеку базы данных (сборку) из Entity Framework 6 Code-First? - PullRequest
0 голосов
/ 02 мая 2018

Сначала я использую код EF.6, и моя задача - загрузить внешнюю библиотеку для SQL Server (Assembly). Сборка предоставляется в виде сценария SQL с двоичным кодом, например:

CREATE ASSEMBLY [assembyName]
FROM 

0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300675910540000000000000000E00002210B010B000028000000060000000000005E46000000200000006000000000001000200000000200000400000000000000040000000000000000A0000000020000000000000300408500001000001000000000100000100000000000001000000000000000000000000C4600004F000000006000002003000000000000000000000000000000000000008000000C000000D44400001C000000000000000000000000000000000000....

И сборка создается правильно, если я выполняю скрипт из Management Studio.

Итак, мой вопрос ... Есть ли способ сделать это, как хорошую практику, или я должен прочитать файл и использовать Database.SqlQuery<string>, которого я хочу избежать? Я надеюсь, что есть еще одна хорошая практика.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Хорошо, я просто экспортировал сборку в файл сценария создания .sql и включил его в мой .NET Project. Это помогает использовать метод SqlFile (filePath) в миграциях EF для создания сборки. Спасибо Дэвид Браун за ответ.

0 голосов
/ 02 мая 2018

Весьма необычно использовать SQL CLR в рабочем процессе кода. Вы действительно хотите управлять этой схемой базы данных посредством миграции? Вы можете использовать SSMS или SSDT для управления схемой базы данных и при этом использовать классы первого кода и отображение в EF.

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

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