Hier bilden, ist ein Beispiel für die SQL IProbleme mit Linq subquery in meinem Anwendungskontext
SELECT
* FROM assetassignment
WHERE asgn_type = 'trc' AND asgn_id = '54490' AND lgh_number <> 3015097 AND mov_number <>2030782
and asgn_enddate in (select max(asgn_enddate) FROM assetassignment
WHERE asgn_type = 'trc' AND asgn_id = '54490' AND lgh_number <> 3015097 AND mov_number <> 2030782 and asgn_enddate <= '03/19/2017')
Ich brauche zu konvertieren, dies zu Linq zu Linq konvertieren versuchen. Ich bin mit einem Repository wie folgt:
public async task<AssetAssignment> FindPreviousTrip(string tractorNumber, DateTime endDate, int legNumber,string moveNumber)
{
using (var ctx = new AssetAssignmentContext(_nameOrConnectionString))
{
var previousTrip = from a in ctx.Set<AssetAssignment>()
where a.AssignmentType == "TRC" &&
a.AssignmentId == tractorNumber &&
a.LegId == legNumber &&
a.MoveNumber == moveNumber &&
a.EndDate).in()
}
}
Wie man sehen kann ich einen Stich es mache, aber halten Sie auf der Unterabfrage für die EndDate in Anweisung scheitern.
Ich stecke weiter daran, aber jede Hilfe wird geschätzt.
Betrachten zu schaffen. Deine SQL hat mich verwirrt - sie hat '<>' anstelle von '=' für 'lgh_number' (ist das dasselbe wie' LegId'?) Und es hat keine Gruppe für die 'SELECT MAX()', so dass ein Wert zurückgegeben würde und Sie brauchen nicht 'IN' für einen Wert, nur' = '? – NetMage