Ich versuche, ein wählen zu tun, wo die letzten beiden Buchstaben eines ID-Übereinstimmung, was in einem String enumerable an die Methode übergeben, aber ich; m immer die Syntax falschEntity Framework und LINQ-Syntax
Ich versuche
setHeaders.SET_ID.Substring(setHeaders.SET_ID.Length - 2).ToUpper().Any(x => setIds.Contains(x.ToString()))
Heres die ganze Methode
im Moment, um es in dieser Richtung etwas nach untenvar tupleResponse = (from setHeaders in _woEntities.SETHEADER
join setDetails in _woEntities.SETDETAIL on setHeaders.SET_ID equals setDetails.SET_ID
join workOrders in _woEntities.B1PERMIT on new
{
setDetails.B1_PER_ID1,
setDetails.B1_PER_ID2,
setDetails.B1_PER_ID3
} equals new { workOrders.B1_PER_ID1, workOrders.B1_PER_ID2, workOrders.B1_PER_ID3 }
where setDetails.REC_STATUS == "A" && /*setHeaders.SET_ID.Substring(setHeaders.SET_ID.Length - 2).ToUpper().Any(x => setIds.Contains(x.ToString()))*/
(setHeaders.SET_ID.Substring(setHeaders.SET_ID.Length - 2).ToUpper() == "OS" ||
setHeaders.SET_ID.Substring(setHeaders.SET_ID.Length - 2).ToUpper() == "TR") &&
workOrders.B1_APPL_STATUS.ToLower() == "open"
select new
{
setHeaders.SET_ID,
setHeaders.SET_TITLE,
workOrders.B1_ALT_ID
}).AsEnumerable()
.Select(x => Tuple.Create(x.SET_ID, x.SET_TITLE, x.B1_ALT_ID))
.ToList();
Sorry ich denke, wir können über verschiedene Punkte sprechen, ich möchte die Funktion erweitern, so dass ich nicht "TR" oder "OS" hartcodieren muss Ich würde gerne in der Lage sein, in Sammlung von "Endungen" (eine Namenskonvention, die das Unternehmen verwendet, um verschiedene Gruppen zu unterscheiden) und in der Lage sein, das Ende von SET_ID mit einem Wert in dieser Liste abzugleichen – Damage
Können Sie die Aussage versuchen, um zu sehen, ob es mit Ihrem LINQ-Anbieter funktioniert ? Wenn nicht, dann kommt PredicateBuilder rein. – NetMage
ahhhhh Dummy, tut mir leid, das war mein Fehler, ich habe das falsch gelesen. Dieser Code scheint zu funktionieren! danke setIds.Contains (setHeaders.SET_ID.Substring (setHeaders.SET_ID.Length - 2) .ToUpper()) – Damage