2012-03-31 10 views
6

come utilizzare hint di tabella in LINQ to SQL quando la chiamata presentare modifiche metodocome utilizzare hint di tabella in LINQ to SQL

dataContext.table2.something = dataContext.table1.something; 
dataContext.SubmitChanges();  

voglio usare in questo modo il codice SQL:

declare @var int; 
begin transaction 
select @var = something from table1 with (HoldLock); 
update table2 set something = @var; 
update table1 set something = @var + 1; 
commit transaction; 
+0

Vicino duplicato: http://stackoverflow.com/questions/4104323/how-to-use-sql-server-table-hints-while-using-linq –

+0

Quali suggerimenti hai esattamente bisogno di aggiungere? A seconda di ciò ci possono essere diverse soluzioni. – JotaBe

risposta

1

Ho sempre sentito che non si può fare. L'obiettivo di Linq (o almeno uno di essi) è prendere o occuparsi di SQL, quindi non devi preoccuparti di cose come questa. Suggerisco di aggiungere il proprio codice con l'aiuto della tabella a una procedura SQL e di usare Linq per chiamarlo.

+0

sfortunatamente per alcune ragioni non posso usare la procedura memorizzata – Star

+0

come su viste, funzioni di tabella? oppure non puoi creare alcun oggetto sul DB – Diego

+0

posso creare solo visualizzazioni ma come può questo aiuto ?? – Star

2

Non è possibile.

In realtà, è possibile eseguire attività di pirateria informatica utilizzando la riflessione. È possibile compilare una query e quindi armeggiare con la stringa SQL generata in alcuni oggetti interni. Questo è il modo meno auspicabile per farlo.

Vi consiglio di rimanere con SQL raw per questo.