使用Entity Framework计算总和

时间:2016-02-07 17:08:51

标签: c# wpf entity-framework

我正在构建一个WPF应用程序,我的模型是这样的:

public class Employee
{
        public int Matricule { get; set; }
        public string Nom { get; set; }
        public string Prenom { get; set; }
        public double Salaire { get; set; }

        public Employee() { }
}

public class Ouvrier : Employee
{
        public Ouvrier() { }
}

public class Manager : Employee
{
        public List<Ouvrier> Ouvriers { get; set; }

        public Manager()
        {
        }
}

所以经理的薪水是[他的工资+奖金(他工人工资总额的2%)]。如何使用Entity Framework计算他的薪水?我应该在Manager构造函数中还是在ViewModel中进行计算?

2 个答案:

答案 0 :(得分:1)

您可以在Outviers Salary属性上调用Sum方法,并将其添加到经理salaray。

var mgrWithBonus =  dbContext.Managers.Select(s => new Manager 
                           {    
                              Nom = s.Nom,
                              Salaire = s.Salaire +
               (s.Ouvriers!=null? s.Ouvriers.Select(f => f.Salaire).Sum()*0.02:0)
                           }).ToList();

答案 1 :(得分:0)

在这里Linq声明获得所有经理的最终薪水。我怀疑经理是DbSet提供的DbCon:

     var managersWithFilnalSalary = managers.Select(m => 
new {m.Nom, FinalSalary = m.Salaire + (m.Ouvriers.Sum(o => o.Salaire)*0.02)});