Я использую LINQ to Entities.
У меня есть стол под названием Студент; он имеет идентификатор и имя в качестве столбцов. Идентификатор является первичным ключом.
Я бы хотел иметь возможность выбрать имя ученика и получить количество учеников с тем же именем.
Так, например, я бы использовал это в качестве данных моей таблицы.
ID Name
1 Bob
2 Will
3 Bob
После выполнения запроса я вернул бы список объектов Student, выглядящих следующим образом.
Name Quantity
Bob 2
Will 1
Полагаю, это похоже на страницу тегов в stackoverflow; У него есть название и количество.
В любом случае, я создал частичный класс с именем Student.cs, в который я добавил следующее свойство:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MySite.Models
{
public partial class Student
{
private int _quantity;
public int Quantity
{
get { return _quantity; }
set { _quantity = value; }
}
}
}
Я придумал это, но я получаю ошибку ..
public IQueryable<Student> FindStudentsDistinctWithQuantity()
{
/*SELECT Name, COUNT(Name) AS Quantity
FROM Student
GROUP BY Name*/
var students= (from s in db.Students
group s by s.Name into g
select new {Name = g.Key, Quantity = g.Count()});
return students;
}
Ошибка, которую я получаю, говорит что-то вроде Не могу преобразовать из типа Anonymous в список Student. Это как-то связано с тем, что не распознается поле количества, которое я добавил в частичный класс?
Спасибо!