Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 将SQL转换为Linq查询_C#_Linq_Sql To Linq Conversion - Fatal编程技术网

C# 将SQL转换为Linq查询

C# 将SQL转换为Linq查询,c#,linq,sql-to-linq-conversion,C#,Linq,Sql To Linq Conversion,我对Linq查询非常陌生,我只想将我的DB查询转换成Linq 以下是我的简单SQL查询: var query = "SELECT EnrollmentDate, COUNT(*) AS StudentCount " + "FROM Person " + "WHERE EnrollmentDate IS NOT NULL " + "GROUP BY EnrollmentDate"; var data = db.Database.SqlQ

我对Linq查询非常陌生,我只想将我的DB查询转换成Linq

以下是我的简单SQL查询:

var query = "SELECT EnrollmentDate, COUNT(*) AS StudentCount "
          + "FROM Person "
          + "WHERE EnrollmentDate IS NOT NULL "
          + "GROUP BY EnrollmentDate";

var data = db.Database.SqlQuery<EnrollmentDateGroup>(query);
var query=“选择EnrollmentDate,COUNT(*)作为StudentCount”
+“来自个人”
+“其中EnrollmentDate不为空”
+“按注册日期分组”;
var data=db.Database.SqlQuery(查询);
它工作得很好,但是怎么可能用Linq编写这个查询呢?,我就是不能将
group by
语句转换成Linq。转换成Linq似乎有点棘手


有人能帮我吗?

谢谢你的回答,但是我得到了一个
错误(xyzModel.SchoolContext不包含任何个人辩护)
问题已经更新。。。请再看一遍。thanx@ashok_damani,在您的模型中,代表表
Person
的类是什么?将其替换为已编辑的queryur答案,现在其工作正常。但还有一件事,我在这里写了
Select(group=>new-EnrollmentDateGroup()
,但与前面一样,我尝试将其转换为
列表
(通过在尾部添加
ToList()
),但是没有用,Y?@ashok_damani,我看不到你的编辑,但是你的答案是不允许将其转换为
列表的,因为你正在选择一个使用
新的
关键字,这很酷!!!Marc Gravell,thnx是你的答案,但我正在寻找lamda表达式中的Linq作为Habib的答案。但是无论如何,thanx 4是一个快速的回答
var result = db.Person
               .Where(r=> r.EnrollmentDate != null)
               .GroupBy(r=> r.EnrollmentDate)
               .Select( group=> new 
                              {
                                 EnrollmentDate = group.Key, 
                                 Count = group.Count()
                               });
var query = from row in db.Person
            where row.EnrollmentDate != null
            group row by row.EnrollmentDate into grp
            select new {
                EnrollmentDate = grp.Key,
                Count = grp.Count()
            };