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

UDT jako parametr w zapytaniu EF4

Myślę, że głównie odpowiedziałeś na swoje pytanie. Obliczenia muszą być wykonane na serwerze bazy danych, a po prostu chcesz uzyskać wynik, prawda? Jeśli używasz SQL Server 2008, możesz utworzyć procedurę składowaną, która akceptuje parametr o wartości tabeli . Teraz możesz wywołać tę procedurę albo bezpośrednio przy użyciu ADO.NET lub używając EF i context.ExecuteStoreQuery gdzie nadal przekazujesz DataTable do SqlParameter z SqlDbType.Structured .

Jeśli nie używasz SQL Server 2008, potrzebujesz procedury składowanej z jednym dużym parametrem nvarchar, przekazującym całą listę jako ciąg znaków oddzielonych przecinkami. Twoja procedura składowana najpierw przeanalizuje tę listę do tabeli tymczasowej, a następnie przetwarzaj obliczenia w taki sam sposób, jak w przypadku parametru o wartości tabeli.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja SQL jako domyślna wartość parametru?

  2. Jak przekazać parametry wartości tabeli do procedury składowanej z kodu .net?

  3. Różnica czasu SQL między dwiema datami daje wynik gg:mm:ss

  4. Grupy Concat w SQL Server

  5. Najszybszy sposób na ustalenie, czy rekord istnieje