C# 调用父类中声明的SqlFunction的SQL CLR

C# 调用父类中声明的SqlFunction的SQL CLR,c#,sql,sqlclr,C#,Sql,Sqlclr,我有几节课要进行一些计算。 它们可以从SqlServer一次调用一个,也可以从Web应用程序批量调用。 所以我创建了基类来组合公共逻辑 公共抽象类基类,其中T:BaseClass,new() { [SqlFunction(DataAccess=DataAccessKind.Read,FillRowMethodName=“GetRow”)] 公共静态IEnumerable计算(int参数1) { 返回新的T().calc(param1); } 公共静态void GetRow(对象对象对象,out

我有几节课要进行一些计算。 它们可以从SqlServer一次调用一个,也可以从Web应用程序批量调用。 所以我创建了基类来组合公共逻辑

公共抽象类基类,其中T:BaseClass,new()
{
[SqlFunction(DataAccess=DataAccessKind.Read,FillRowMethodName=“GetRow”)]
公共静态IEnumerable计算(int参数1)
{
返回新的T().calc(param1);
}
公共静态void GetRow(对象对象对象,out int结果)
{
//得出一些结果
}
受保护的抽象IEnumerable计算(int参数1);
}
公共类Child1:基类
{
受保护的覆盖IEnumerable计算(int参数1)
{
//返回一些结果
}
}
公共类Child2:基类。。。。
但当我尝试在DB中创建函数时,如下所示:

创建函数sf\u计算(@value int)
返回表
(分数整数)
作为
外部名称。[.Child1]。计算;
去
我得到一个错误:

"Msg 6506, Level 16, State 1, Procedure sf_calc, Line 2
Could not find method 'Calculate' for type 'Child1' in assembly '<assembly_name>'"
“Msg 6506,16级,状态1,程序sf_calc,第2行
在程序集“”中找不到类型“Child1”的方法“Calculate”
在按名称反射方法时,他们似乎忘记了包含System.Reflection.BindingFlags.FlatterHierarchy

有什么解决办法吗

"Msg 6506, Level 16, State 1, Procedure sf_calc, Line 2
Could not find method 'Calculate' for type 'Child1' in assembly '<assembly_name>'"