Benutzerdefinierte Erweiterungsmethode zur Vereinfachung der LINQ to SQL-Anweisung

Ich habe ein Stück LINQ-Code, das ich für viele Abfragen verwenden muss

let catchmentId = Convert.ToInt32(
        phy.PhysicalProperty_binData.Substring(offset + 3, 1) +
        phy.PhysicalProperty_binData.Substring(offset + 2, 1) +
        phy.PhysicalProperty_binData.Substring(offset + 1, 1) +
        phy.PhysicalProperty_binData.Substring(offset, 1))

Dies lässt sich gut in SQL übersetzen (und ist für meine spezifischen Anforderungen mehr als leistungsfähig), lässt meine Abfragen jedoch hässlich aussehen. Kann ich das auf irgendeine Weise weniger ausführlich machen? Vielleicht eine Erweiterungsmethode, die einen Ausdruck zurückgibt>? Beachten Sie, dass ich die Daten nicht auf die Clientseite holen möchte (auf dem Server als SQL ausführen), was die Dinge etwas komplizierter macht. Zum Beispiel:

let catchmentId = phy.PhysicalProperty_binData.AnExtensionMethodHere<int>(offset)

Ich habe versucht, eine Erweiterungsmethode zu schreiben, die dies tut, aber der Anbieter ignoriert diesen Aufruf einfach oder löst eine Ausnahme aus, die besagt, dass er nicht weiß, wie dieser Aufruf in SQL übersetzt wird. Können wir den SQL-Generator irgendwie erweitern, um dies für uns zu tun, oder etwas bereitstellen, das dasselbe SQL generiert?

Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage