Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 使用linq查找重复字段的总数并仅返回一行_C# 4.0_Linq To Sql_Linq To Entities - Fatal编程技术网

C# 4.0 使用linq查找重复字段的总数并仅返回一行

C# 4.0 使用linq查找重复字段的总数并仅返回一行,c#-4.0,linq-to-sql,linq-to-entities,C# 4.0,Linq To Sql,Linq To Entities,我有下面的方法返回一个列表。这很有效。 我正在努力实现的细节可以在下面找到 public List<Employeehourstask> GetAllTaskForEmployee(long uniqueId, string empId, DateTime strDate) { var decuniqueid = Convert.ToDecimal(uniqueId);

我有下面的方法返回一个列表。这很有效。 我正在努力实现的细节可以在下面找到

        public List<Employeehourstask> GetAllTaskForEmployee(long uniqueId, string empId, DateTime strDate)
                {
                    var decuniqueid = Convert.ToDecimal(uniqueId);
                    using (var objEmpTask = new FtCollectionEntities())
                    {
                        List<Employeehourstask> objTaskList = (from bj in objEmpTask.DATA_TASK_EMP.Where(
                                                                  s => s.DEPT_UNIQUE_ID == decuniqueid 
                                                                  && s.DAY_DATE.Value.Year == strDate.Year
                                                                  && s.DAY_DATE.Value.Month == strDate.Month
                                                                  && s.DAY_DATE.Value.Day == strDate.Day
                                                                  && s.EMPLID == empId)

                                    select new Employeehourstask()
                                    {
                                        Id = bj.UNIQUE_ID,
                                        Hours = bj.PRODUCTION_HOURS_ENTERED,
                                        MyCount = bj.PIECE_COUNT,
                                        Task = bj.TASK_CODE
                                    }).ToList();                                                                                                                                                                                                                         
                        return objTaskList;
                    }
                }
public List GetAllTaskForEmployee(长uniqueId、字符串empId、日期时间strDate)
{
var deuniqueid=Convert.ToDecimal(uniqueId);
使用(var objEmpTask=new FtCollectionEntities())
{
列出objTaskList=(来自objEmpTask.DATA\u TASK\u EMP.Where中的bj(
s=>s.DEPT\u UNIQUE\u ID==deuniqueid
&&s.DAY_DATE.Value.Year==标准日期年份
&&s.DAY_DATE.Value.Month==标准日期月份
&&s.DAY_DATE.Value.DAY==标准日期.DAY
&&s.EMPLID==empId)
选择新员工工时任务()
{
Id=bj.UNIQUE\u Id,
小时数=bj.生产小时数,
MyCount=bj.件数,
Task=bj.Task\u代码
}).ToList();
返回对象列表;
}
}

任务
分组,然后对
小时数
/
我的计数
进行
求和

List<Employeehourstask> objTaskList =   (
    from bj in objEmpTask.DATA_TASK_EMP.Where(s => 
        s.DEPT_UNIQUE_ID == decuniqueid && 
        s.DAY_DATE.Value.Year == strDate.Year && 
        s.DAY_DATE.Value.Month == strDate.Month && 
        s.DAY_DATE.Value.Day == strDate.Day && 
        s.EMPLID == empId)
    group bj by bj.TASK_CODE into bjg
    select new Employeehourstask() 
    {
        //Id = bjg.Select(bg => bg.UNIQUE_ID).FirstOrDefault(),
        Hours = bjg.Sum(bj => bj.PRODUCTION_HOURS_ENTERED),
        MyCount = bjg.Sum(bj => bj.PIECE_COUNT),
        Task = bj.Key
    }
).ToList();
列表对象列表=(
从objEmpTask.DATA\U TASK\U EMP.Where(s=>
s、 部门唯一ID==deuniqueID&&
s、 DAY_DATE.Value.Year==标准日期年份&&
s、 DAY_DATE.Value.Month==标准日期月份&&
s、 DAY_DATE.Value.DAY==标准日期日&&
s、 EMPLID==empId)
按bj.TASK_代码将bj分组到bjg中
选择新员工工时任务()
{
//Id=bjg.Select(bg=>bg.UNIQUE\u Id).FirstOrDefault(),
工时=bjg.总和(bj=>输入的bj.生产工时),
MyCount=bjg.总和(bj=>bj.计件计数),
Task=bj.Key
}
).ToList();

您可能可以删除
Id
属性,因为您正在根据任务对结果进行聚合

Task
分组,然后对
Hours
/
MyCount
求和

List<Employeehourstask> objTaskList =   (
    from bj in objEmpTask.DATA_TASK_EMP.Where(s => 
        s.DEPT_UNIQUE_ID == decuniqueid && 
        s.DAY_DATE.Value.Year == strDate.Year && 
        s.DAY_DATE.Value.Month == strDate.Month && 
        s.DAY_DATE.Value.Day == strDate.Day && 
        s.EMPLID == empId)
    group bj by bj.TASK_CODE into bjg
    select new Employeehourstask() 
    {
        //Id = bjg.Select(bg => bg.UNIQUE_ID).FirstOrDefault(),
        Hours = bjg.Sum(bj => bj.PRODUCTION_HOURS_ENTERED),
        MyCount = bjg.Sum(bj => bj.PIECE_COUNT),
        Task = bj.Key
    }
).ToList();
列表对象列表=(
从objEmpTask.DATA\U TASK\U EMP.Where(s=>
s、 部门唯一ID==deuniqueID&&
s、 DAY_DATE.Value.Year==标准日期年份&&
s、 DAY_DATE.Value.Month==标准日期月份&&
s、 DAY_DATE.Value.DAY==标准日期日&&
s、 EMPLID==empId)
按bj.TASK_代码将bj分组到bjg中
选择新员工工时任务()
{
//Id=bjg.Select(bg=>bg.UNIQUE\u Id).FirstOrDefault(),
工时=bjg.总和(bj=>输入的bj.生产工时),
MyCount=bjg.总和(bj=>bj.计件计数),
Task=bj.Key
}
).ToList();

您可能可以删除
Id
属性,因为您是根据任务聚合结果的

谢谢。我需要Id。我正在使用它更新webgrid上的记录。谢谢。我需要Id。我正在使用它更新webgrid上的记录。