Подключение библиотеки c# к серверу базы данных MS SQL

Хочу создать в базе данных MSSQL CLR функцию.

Для этого я создал библиотеку C# в Visual Studio. В ней есть следующий класс:

namespace ClassLibrary
{
    public class MultiplyClass
    {
        public static int multiply(int x1, int x2)
        {
            return x1 * x2;
        }
    }
}

В самой базе данных я прописал следующие команды:

use Admissions_Board;
exec sp_configure 'clr enabled', 1;
exec sp_configure 'clr strict security', 0;
RECONFIGURE
go
create assembly DemoAssembly
FROM 'C:\Users\raffl\source\repos\ProgramDB\ClassLibrary\bin\Debug\ClassLibrary.dll'
with permission_set = safe;
go

Вроде бы все подключилось, но когда хочу создать функцию в базе данных:

create function fn_multiply(@num1 int, @num2 int)
returns int
as external name DemoAssembly.MultiplyClass.multiply;
go

Выходит ошибка:

сообщение: 6505, уровень: 16, состояние: 2, процедура: fn_multiply, строка: 1 [строка начала пакета: 9]
Не удалось обнаружить тип "MultiplyClass" в сборке "ClassLibrary".

Не знаю, почему не может найти этот класс. Пробовал так-же делать класс static, та же ошибка, не может найти этот класс.


Ответы (1 шт):

Автор решения: aepot

Добавтьте неймспейс к адресу метода в сборке

create function fn_multiply(@num1 int, @num2 int)
returns int
as external name DemoAssembly.[ClassLibrary.MultiplyClass].multiply;
→ Ссылка