Мне нужно работать с SqlExpression<T>
в частном методе, но результат должен быть SqlExpression<TU>
(из-за контекста моего проекта). T и TU имеют одинаковую структуру (TU
- это подмножество T
с некоторыми вычисленными выражениями). Я не нашел способа преобразовать SqlExpression<T>
в SqlExpression<TU>
.
. В следующем коде T = Класс продукта и TU = Класс порошка.
// Sample code
private static SqlExpression<Powder> CreateDefaultExpression(IDbConnection db, IPowderListFilter request)
{
var ev = db.From<Product>()
// Joins are set here...
.Select(p => new
{
CustomRalId = Sql.As(p.CustomRalId, nameof(Powder.CustomRalId)),
Mass = Sql.As(Sql.Sum(p.Width * p.Height / 1000000) * 2 * Settings.LacqueringGramsPerSquareMeter / 1000, nameof(Powder.Mass))
});
// I need to do something like...
ev.ConvertTo<SqlExpression<Powder>>();
// or ...
return new SqlExpression<Powder>(ev);
}