sto usando LINQ to SQL per eseguire un inserimento via db.table.InsertOnSubmit (). Mi chiedo se c'è un modo per riprodurre la versione T-SQL del "dove non esiste (selezionare ecc. Ecc.) Iniziare l'inserimento in ecc ecc." Come una singola query? Grazie, Martin
risposte:
3 per risposta № 1LINQ ha un metodo di estensione chiamato Contains che consente questa funzionalità. Questo può essere visto nel seguente esempio:
NorthwindDataContext dc = new NorthwindDataContext();
dc.Log = Console.Out;
var query =
from c in dc.Customers
where !(from o in dc.Orders
select o.CustomerID)
.Contains(c.CustomerID)
select c;
foreach (var c in query) Console.WriteLine( c );
Notare la negazione sulla clausola where!
Questo esempio è stato dal sito web Qui.
2 per risposta № 2
Nulla si è sviluppato per quanto ne so, dovremmo cercare la fila manualmente usando dove e poi l'Insert.
C'è una possibilità di codifiche di razza in tali domande. Dai un'occhiata a questo thread per una soluzione dettagliata:
http://social.msdn.microsoft.com/Forums/en-US/linqtosql/thread/b1a0eb5b-d5d3-41af-829f-bbbac47b7383/