LINQ-Unterabfrage IN
Ich bin ein Neuling mit dem IQueryable, lambda-Ausdrücken und LINQ im Allgemeinen. Ich würde gerne eine Unterabfrage in einer where-Klausel wie dieser :
Beispielcode :
SELECT * FROM CLIENT c WHERE c.ETAT IN (
SELECT DDV_COLUMN_VAL FROM DATA_DICT_VAL
WHERE TBI_TABLE_NAME = 'CLIENT' AND DD_COLUMN_NAME = 'STATUS'
AND DDV_COLUMN_VAL_LANG_DSC_1 LIKE ('ac%'))
Wie übersetze ich diese in LINQ ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
System.Linq.Queryable.Contains<TSource>(this IQueryable<TSource> source, TSource item);
Wenn die dynamischen Abfrage ist wieder eine nicht-generischeIQueryable
, dann haben Sie Recht; aber wir sind jetzt in einem Reich weit auseinander, was die OP gefragt wurde.Wenn Sie neue Linq, müssen Sie unbedingt zwei wichtige tools. Der erste ist ein tool, konvertiert die meisten T-SQL-Anweisungen, um Linq genannt Linqer (
http://www.sqltolinq.com/
). Dieser sollte sich darum kümmern, die Abfrage in deiner Frage. Das andere tool LinqPad (http://www.linqpad.net/
). Dies wird Ihnen helfen, lernen, Linq, wie Sie die Praxis mit Abfragen.Verwende ich oft Linqer zum umwandeln einer T-SQL Abfrage für mich, und dann LinqPad verwenden, um eine Feinabstimmung vorzunehmen.
Gleiche Beispiel mit Linq-Methodensyntax:
Hinweis:
Bin die Bereitstellung dieser Antwort, denn wenn ich suchte für die Antwort, ich konnte Sie nicht finden viel Antwort die erklärt, dasselbe Konzept auch in der Methode syntax.
So, In Zukunft kann Es sinnvoll sein, für die Menschen, diejenigen, die intestinally gesucht-Methode syntax wie bei mir heute.
Dank
karthik