Calculating user efficiency on a time period with Linq I have this expression:

    public static readonly Expression&lt;Func&lt;ApplicationUser, decimal&gt;&gt; EfficiencyPercentExpr = e =&gt;
        (e.ExecutorOrders.Where(x =&gt; x.Added &gt;= DbFunctions.AddDays(SqlFunctions.GetUtcDate(), -30)).Count(x =&gt; x.Status != Order.OrderStatus.Deleted) &gt; 0)
        ?
        (
        e.ExecutorOrders.Where(x =&gt; x.Added &gt;= DbFunctions.AddDays(SqlFunctions.GetUtcDate(), -30)).Count(x =&gt; x.Status != Order.OrderStatus.Deleted)
        /
        e.ExecutorOrders.Where(x =&gt; x.Added &gt;= DbFunctions.AddDays(SqlFunctions.GetUtcDate(), -30)).Count()
        )
        :
        0
    ;


This expression calculates the user's efficiency by calculating the percentage of successful orders from a total of the last 30 days.

How can I make it more clear?

Update:

There is a second approach of writing the expression, but it generates more expensive SQL query.

    private static readonly Expression&lt;Func&lt;ApplicationUser, decimal&gt;&gt; efficiencyPercentExpr = e =&gt;
        e.ExecutorOrders.Where(x =&gt; !x.IsNotConsidered &amp;&amp; x.Added &gt;= DbFunctions.AddDays(SqlFunctions.GetUtcDate(), -30))
        .GroupBy(x =&gt; 1, (k, g) =&gt; new { Count = g.Count(), CountUndeleted = g.Count(x =&gt; x.Status != Order.OrderStatus.Deleted) })
        .Select(x =&gt; x.CountUndeleted &gt; 0 ? (decimal)x.CountUndeleted / (decimal)x.Count : 0).FirstOrDefault();
Don't one line things that shouldn't be one lined. Just because you can do something, doesn't mean that you should. 
Extract the duplicated query into a method of it's own that returns an IQueryable
Don't query the database twice for the same count, execute the query and store it in a variable.

private IQueryable&lt;foo&gt; ExecutorOrdersInLast30Days(ApplicationUser e)
{
    return e.ExecutorOrders.Where(x =&gt; x.Added &gt;= DbFunctions.AddDays(SqlFunctions.GetUtcDate(), -30));
}

private decimal EfficiencyPercent(ApplicationUser e)
{
    var nonDeletedOrders = ExecutorOrdersInLast30Days(e).Count(x =&gt; x.Status != Order.OrderStatus.Deleted);
    if ( nonDeletedOrders &gt; 0)
    {
        return nonDeletedOrders / ExecutorOrdersInLast30Days(e).Count();
    }
    else
    {
        return 0;
    }
}