Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Parametr wartości tabeli z procedurami składowanymi Dapper

Historycznie parametry wyceniane w tabeli nie były zbytnio skupione na eleganckich; głównie dlatego, że działają tylko na SqlConnection (Dapper próbuje celować w dowolnych dostawców, w tym "dekorowanych" dostawców ADO.NET - tj. gdzie SqlConnection chowa się pod jakimś opakowaniem). Co możesz do to implementacja IDynamicParameters ręcznie (lub po prostu pożycz istniejące DynamicParameters class), aby dodać tę funkcjonalność:

void SqlMapper.IDynamicParameters.AddParameters(System.Data.IDbCommand command,
                                                SqlMapper.Identity identity)
{
    ...
    // and then whatever the code is...
    ((SqlCommand)command).Parameters
        .AddWithValue(...,...).SqlDbType = System.Data.SqlDbType.Structured;
    ...
}

Postaram się również, aby konkretne DynamicParameters klasa bardziej polimorficzna tutaj, dzięki czemu w przyszłej kompilacji możesz po prostu override pojedynczą metodę, wykryj typ TVP i dodaj parametr ręcznie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń połączony serwer w SQL Server za pomocą T-SQL

  2. Zmień nazwę konta SA w SQL Server (przykład T-SQL)

  3. Podstawowa grupa plików jest pełna w programie SQL Server 2008 Standard bez wyraźnego powodu

  4. Dlaczego opcja indeksowania pełnotekstowego jest wyszarzona?

  5. Zintegrowane zabezpieczenia =Fałsz