¿Cómo le digo a linq2db cómo traducir una expresión dada, es decir, Split (char) a SQL cuando no sabe cómo hacerlo?

estoy usandolinq2db y aunque funciona lo suficientemente bien para la mayoría de las operaciones CRUD, he encontrado muchas expresiones que simplemente no puede traducir a SQL.

Ha llegado al punto en que, a menos que sepa de antemano exactamente qué tipo de expresiones estarán involucradas y las haya invocado con éxito antes, me preocupa que cualquier beneficio derivado delinq2db será superado por el costo de tratar de encontrar y luego eliminar (o alejarse del lado del servidor) las expresiones ofensivas.

Si supiera decirlinq2db&nbsp;cómo analizar unExpression<Func<T,out T>>&nbsp;o lo que sea en SQL cuando sea ad-hoc, según sea necesario, entonces estaría mucho más seguro y podría hacer muchas cosas usando esta herramienta.

Tomemos, por ejemplo,String.Split(char separator), el método que toma unstring&nbsp;y unchar&nbsp;devolver unstring[]&nbsp;de cada subcadena entre el separador.

Supongamos que mi mesaEquipment&nbsp;tiene un nulovarchar&nbsp;campoUsages&nbsp;que contiene listas de diferentes usos de equipos separados por comas.

Necesito implementarIList<string> GetUsages(string tenantCode, string needle = null)&nbsp;eso proporcionará una lista de usos para un determinado código de inquilino y una cadena de búsqueda opcional.

Mi consulta sería entonces algo como:

var listOfListOfStringUsages =
    from et in MyConnection.GetTable<EquipmentTenant>()
    join e in MyConnection.GetTable<Equipment>() on et.EquipmentId = e.EquipmentId
    where (et.TenantCode == tenantCode)
    where (e.Usages != null)
    select e.Usages.Split(','); // cannot convert to sql here

var flattenedListOfStringUsages = 
    listOfListOfStringUsages.SelectMany(strsToAdd => strsToAdd)
                            .Select(str => str.Trim())
                            .Distinct();

var list = flattenedListOfStringUsages.ToList();

Sin embargo, realmente bombardearía en tiempo de ejecución en la línea indicada por el comentario.

Entiendo totalmente esolinq2dbNo se puede esperar que los creadores envíen con cada combinación destring&nbsp;método y paquete de base de datos principal.

Al mismo tiempo, siento que podría decirle totalmente cómo manejar esto si solo pudiera ver un ejemplo de eso (alguien que implementa una expresión personalizada).

Entonces mi pregunta es:cómo&nbsp;doy instruccioneslinq2db&nbsp;sobre cómo analizar unExpression&nbsp;que no se puede analizar de la caja?