ho creato un tipo di tabella definito dall'utente in SQL Server:Passo valore della tabella tipo a SQL Server stored procedure tramite Entity Framework
CREATE TYPE dbo.TestType AS TABLE
(
ColumnA int,
ColumnB nvarchar(500)
)
E sto utilizzando una stored procedure per inserire i record nel database:
create procedure [dbo].[sp_Test_CustomType]
@testing TestType READONLY
as
insert into [dbo].[myTable]
select ColumnA, ColumnB
from @testing
E mi piacerebbe utilizzare EF per eseguire questa stored procedure, ma ecco il problema: come posso passare una tabella definita dall'utente alla stored procedure?
Ho provato ad aggiungere la procedura memorizzata al modello, ma non riesco a trovare la stored procedure desiderata nel contesto aggiornato.
Quello che sto cercando di fare è di eseguire un inserimento di massa ad un tavolo, ecco il metodo che sono attualmente in uso:
List<items> itemToInsertToDB = //fetchItems;
foreach(items i in itemToInsertToDB)
{
context.sp_InsertToTable(i.ColumnA, i.ColumnB)
}
Attualmente, io uso un ciclo foreach
per scorrere l'elenco per inserire elementi in DB, ma se l'elenco contiene molti elementi, si verificherà un problema di prestazioni, quindi, sto pensando di passare una lista alla stored procedure e inserire l'inserto all'interno.
Quindi come risolvere questo problema? o ci sono modi migliori per farlo?
http: //www.c-sharpcorner.it/UploadFile/78607b/using-table-valued-parameters-in-entity-framework/ – niksofteng