Code: Select all
var dt = new DateTime(2005, 10, 1);
var q1 = (from mh in entity.Head
select new
{
t = (decimal?)(mh.Accs.Bal1 - mh.Bills.Where(o => o.StampDate > dt).Sum(o => o.Amount - o.Total ?? 0M)) ?? 0M,
a = (decimal?)(mh.Accs.Bal2 - mh.Bills.Where(o => o.StampDate <= dt).Sum(o => o.Amount)) ?? 0M,
mh.OIDHead
}).ToList();
If I then add a where clause based on the calculated variables like so
Code: Select all
var q1 = (from mh in entity.Head
select new
{
t = (decimal?)(mh.Accs.Bal1 - mh.Bills.Where(o => o.StampDate > dt).Sum(o => o.Amount - o.Total ?? 0M)) ?? 0M,
a = (decimal?(mh.Accs.Bal2 - mh.Bills.Where(o => o.StampDate <= dt).Sum(o => o.Amount)) ?? 0M,
mh.OIDHead
}).Where(o => o.t != 0M || o.a != 0M).ToList();
Head -> Accs is a 1 -> 1
Head -> Bills is a 1 -> *
I can send you the schema if you need it.
Thanks.
VS2013, EF6.01, Devart 7.4.592