Tag: 用户定义函数

DRY CLR表值函数

我正在使用CLR表值函数来SELECT并返回使用许多变量的复杂数据库搜索的结果。 文档显示您以类似于此的方式构建此类函数: public partial class UserDefinedFunctions { private class ResultRow // This class holds a row which we want to return. { public SqlInt32 CustId; public SqlString Name; public ResultRow(SqlInt32 custId_, SqlString name_) { CustId = custId_; Name = name_; } } [SqlFunction( DataAccess = DataAccessKind.Read, FillRowMethodName = “Test_FillRow”, TableDefinition = “CustId int” + “Name […]

将表作为参数传递给SQLCLR TV-UDF

我们有一个第三方DLL可以在DataTable上运行源信息并生成一些有用的值,我们试图通过SQLCLR将其连接起来,以便在SQL Server 2008中作为表值UDF进行调用。 将这个概念更进一步,我想编写一个CLR表值函数 ,它对来自DB的源数据表进行操作。 我很确定我理解在T-SQL方面需要做些什么; 但是, .NET(C#)代码中的方法签名应该是什么样的? “来自SQL Server的表数据?”的参数数据类型是什么? 例如 /* Setup */ CREATE TYPE InTableType AS TABLE (LocationName VARCHAR(50), Lat FLOAT, Lon FLOAT) GO CREATE TYPE OutTableType AS TABLE (LocationName VARCHAR(50), NeighborName VARCHAR(50), Distance FLOAT) GO CREATE ASSEMBLY myCLRAssembly FROM ‘D:\assemblies\myCLR_UDFs.dll’ WITH PERMISSION_SET = EXTERNAL_ACCESS GO CREATE FUNCTION GetDistances(@locations InTableType) RETURNS OutTableType AS […]

使用Entity Framework 4.0 / .edmx从c#调用标量函数

我想将我的标量函数映射到我的.edmx但它失败了。 我右键单击我的entity framework映射,并从数据库中选择更新模型。 它出现在我的模型浏览器中的存储过程文件夹中。 但是,当我想将其添加到模型浏览器中的Function Imports文件夹时,下拉列表中不显示消息标量函数 。 有人能帮我吗? 我可以使用旧方法调用标量函数,例如: dbContext.ExecuteStoreQuery( “SELECT dbo.getMinActualLoadDate ({0}, {1}, {2}) AS MyResult”, LoadPkid, LoadFkStartLoc, TripSheetPkid).First(); 但这不是最好的方式。 我的经理希望我找到一种能够将标量函数放在“函数导入”文件夹中的方法,这样我就可以使用以下代码而不是前面的代码来调用标量函数: dbContext.ExecuteFunction(“getMinActualLoadDate “, paramList); 我试图添加一个图像来显示我的意思,但由于我的声誉仍然很低,我无法这样做。 然而,图像可以在这里找到: http : //social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/756865e5-ff25-4f5f-aad8-fed9d741c05d 谢谢。