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

Przekazywanie tablicy intów do przechowywanego proc T-SQL za pośrednictwem struktury encji

Tak nazywam procedurę składowaną z parametrem o wartości tabeli. Główna różnica polega na tym, że używam DataTable parametr.

Pamiętam, że miałem problemy z powiązaniami nazw parametrów, ale nie pamiętam dokładnie, jakie one były. To wyjaśnia zmianę, jaką wprowadziłem w składni wywołania procedury. Wiem, że ten powinien działać.

var dataTable = new DataTable();
dataTable.TableName = "dbo.IntsTTV";
dataTable.Columns.Add("Id", typeof(int));
dataTable.Rows.Add(1); // Id of '1' is valid for the Person table

SqlParameter parameter = new SqlParameter("UserIds", SqlDbType.Structured);
parameter.TypeName = dataTable.TableName;
parameter.Value = dataTable;

var res = _db.Database.SqlQuery<string>("EXEC GetUsers @UserIds", parameter).ToList();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymistyczne vs. pesymistyczne blokowanie

  2. Dowiedz się, czy obiekt jest funkcją wartościującą tabelę w SQL Server za pomocą OBJECTPROPERTY()

  3. Wskazówki dotyczące przenoszenia bazy danych SQL Server z jednego serwera na drugi — samouczek SQL autorstwa Rajana Singha

  4. Sposoby, aby wiedzieć, jak radzić sobie z uszkodzeniem bazy danych w SQL Server

  5. Czy mogę połączyć się z SQL Server za pomocą uwierzytelniania Windows z aplikacji internetowej Java EE?