Strange Exception with conditional operator, example query:
var tp = from q in Query.All<TpPriceCalc>()
select new { q.Account, Check = !q.Check, FinToolKind = q.Check ? null : q.Owner };
var masterCredit = Query.All<PacioliPosting>();
var result = from r in masterCredit
.LeftJoin(tp, a => a.CreditAccount, a => a.Account, (a, pm) => new { pp = a, pm })
let q = r.pp
select new
{
Id = q.Id,
MasterFinToolKind = r.pm == null
? (FinToolKind)null
: (!r.pm.Check ? r.pm.FinToolKind : q.FinCredit.FinToolKind)
};
var rr = result.ToArray();
and model
public abstract class EntityBase : Entity
{
protected EntityBase(Guid id) : base(id) { }
[Field, Key] public Guid Id { get; private set; }
}
[HierarchyRoot]
public class TpPriceCalc : EntityBase
{
public TpPriceCalc(Guid id) : base(id) { }
[Field] public bool Check { get; set; }
[Field] public Account Account { get; set; }
[Field] public FinToolKind Owner { get; set; }
}
[HierarchyRoot]
public class FinToolKind : EntityBase
{
public FinToolKind(Guid id) : base(id) {}
}
[HierarchyRoot]
public class PacioliPosting : EntityBase
{
public PacioliPosting(Guid id) : base(id) { }
[Field] public Account CreditAccount { get; set; }
[Field] public FinToolBase FinCredit { get; set; }
}
[HierarchyRoot]
public class FinToolBase : EntityBase
{
public FinToolBase(Guid id) : base(id) { }
[Field] public FinToolKind FinToolKind { get; set; }
}
[HierarchyRoot]
public class Account : EntityBase
{
public Account(Guid id) : base(id) { }
}
asked
May 27 '15 at 08:05
pil0t
207●57●57●63