我有一个SQL Server 2008用户定义类型(UDT):
很简单。基本上允许我持有一个ID列表。 我有这个存储过程:
CREATE TYPE [dbo].[IdentityType] AS TABLE(
[Id] [int] NOT NULL
)
很简单。基本上允许我持有一个ID列表。 我有这个存储过程:
CREATE PROCEDURE [dbo].[Scoring_ScoreMultipleLocations]
@LocationIds [IdentityType] READONLY,
@DoRanking BIT = 0
AS
BEGIN
-- irrelevant code.
END
Entity Framework 4.0不支持执行以用户定义表类型作为参数的存储过程,所以我回到了传统的ADO.NET。唯一的其他选择是传递一个逗号分隔的字符串。
无论如何,我找到了this篇文章,但是有点难懂。
我不明白这行代码在做什么:
DataTable dt = preparedatatable();
他们甚至没有提供这个方法,所以我不知道我应该在这里做什么。
这是我的方法签名:
internal static void ScoreLocations(List<int> locationIds, bool doRanking)
{
// how do i create DataTable??
}
所以我有一个int
列表,需要将其输入到UDT中。
有人能帮我吗/指向一篇清晰的文章来实现这一点吗?