Yes you can, mostly with projections. Here are some options:
Using custom EntityFactory
public partial class CustomerEncryptEntityFactory : CustomerEntityFactory
{
    public override IEntityFields2 CreateFields()
    {
        var toReturn =  base.CreateFields();
        toReturn[(int) CustomerFieldIndex.CompanyName].ExpressionToApply =
            new DbFunctionCall("LEFT", new object[] { CustomerFields.CompanyName, 5 });
        return toReturn;
    }
}
...
public partial class OrderEntity
{
    public decimal Total
    {
        get
        {
            object value = this.Fields[this.Fields.Count - 1].CurrentValue;
            if (value != null)
            {
                return Convert.ToDecimal(value);
            }
            else
            {
                return 0;
            }
        }
    }
}
...
var orders = new EntityCollection<OrderEntity>(new OrderEntityFactoryExtended());
using (var adapter = new DataAccessAdapter())
{
    adapter.FetchEntityCollection(orders, null);
}
Using DynamicList to EntityCollection projection
// define the dynamic list
var fields = new ResultsetFields(15);
fields.DefineField(OrderFields.OrderId, 0);
fields.DefineField(OrderFields.CustomerId, 1);
...
fields.DefineField(OrderFields.Freight, 14, "Total");
fields[14].ExpressionToApply =          
    new ScalarQueryExpression(OrderDetailFields.UnitPrice
        .SetExpression(new Expression(OrderDetailFields.Quantity, ExOp.Mul, OrderDetailFields.UnitPrice))
        .SetAggregateFunction(AggregateFunction.Sum),
        (OrderFields.OrderId == OrderDetailFields.OrderId));
// define the projection
var orders = new EntityCollection<OrderEntity>();
DataProjectorToIEntityCollection2 projector = new DataProjectorToIEntityCollection2(orders);            
List<IDataValueProjector> valueProjectors = new List<IDataValueProjector>();
for (int i = 0; i < (fields.Count); i++)
{
    valueProjectors.Add(new DataValueProjector(fields[i].Alias, i, fields[i].DataType));
}
            
// fetch it
using (var adapter = new DataAccessAdapter())
{
    projector = new DataProjectorToIEntityCollection2( orders );
    adapter.FetchProjection( valueProjectors, projector, fields, null, 0, false );
}
Using  LINQ2LLBL
var orders = new List<OrderEntity>();
using (var adapter = new DataAccessAdapter())
{
    var metaData = new LinqMetaData(adapter);
    orders = (from o in metaData.Order
                select new OrderEntity
                {
                    OrderId = o.OrderId,
                    CustomerId = o.CustomerId,
                    EmployeeId = o.EmployeeId,
                    Total = o.OrderDetails.Sum(od => od.Quantity * od.UnitPrice)
                }).ToList();
}
Using QuerySpec
var qf = new QueryFactory();
var q = qf.Order
    .Select(
        OrderFields.OrderId, 
        OrderFields.OrderDate, 
        OrderFields.CustomerId, 
        OrderFields.EmployeeId, 
        qf.OrderDetail.CorrelatedOver(OrderDetailEntity.Relations.OrderEntityUsingOrderId)
            .Sum(OrderDetailFields.Quantity * OrderDetailFields.UnitPrice))                             
                                
    .WithProjector(r => new OrderEntity
    {
        OrderId = (int)r[0],
        OrderDate = (DateTime)r[1],
        CustomerId = (string)r[2],
        EmployeeId = (int)r[3],
        Total = (decimal)r[4]
    });
var orders = new List<OrderEntity>();
using (var adapter = new DataAccessAdapter())
{
    orders = adapter.FetchQuery(q);
}
For the last four snippets, you should have a custom property in your entity to fill in:
public partial class OrderEntity
{
    public decimal Total
    {
        get;
        set;
    }
}