Как передать табличный параметр в SQL Server 2008 через EntLib 5.0? - PullRequest
7 голосов
/ 18 декабря 2010

Как передать табличный параметр в SQL Server 2008 через EntLib 5.0?

Ответы [ 2 ]

0 голосов
/ 12 октября 2012

Удачи ... http://msdn.microsoft.com/en-us/library/bb675163.aspx цитата:

Ограничения табличных параметров

Существует несколько ограничений для табличных параметров:

You cannot pass table-valued parameters to CLR user-defined functions.

Table-valued parameters can only be indexed to support UNIQUE or PRIMARY KEY constraints.
SQL Server does not maintain statistics on table-valued parameters.

Table-valued parameters are read-only in Transact-SQL code.
You cannot update the column values in the rows of a table-valued parameter and you cannot insert or delete rows.
To modify the data that is passed to a stored procedure or parameterized statement
in table-valued parameter, you must insert the data into a temporary  table or into a table variable.

You cannot use ALTER TABLE statements to modify the design of table-valued parameters.
0 голосов
/ 19 декабря 2010

Я не пытался это сделать, но, посмотрев на блок данных EntLib, я не вижу простого способа добиться этого. Это можно сделать с помощью объекта SqlClient, но EntLib не поддерживает структурированный тип данных, в который нужно передавать данные в виде TVP.

Если вам гарантировано, что вам никогда не понадобится ничего, кроме бэкэнда SQL Server, тогда я полагаю, что вы могли бы преобразовать свое соединение в соединение, специфичное для SQLServer, а затем использовать SqlParameters, но это несколько побило бы цель использования EntLib.

...