Why is this linq expression not working?
asp.net, c#, linq, linq-to-entities
Solution
Change your `Student` type to look like this:
public partial class Student
{
public Int32 Quantity { get; set; }
public String Name { get; set; }
}
And your query to look like this:
var students = from s in db.Students
group s by s.Name into g
select new Student {
Name = g.Key,
Quantity = g.Count() };
Your method returns an `IQueryable<Student>` but you are currently returning an `IQueryable<T>` of a projected anonymous type.
You need to refactor your `Student` type to have a `Name` property of type `String` and then project new instances of your `Student` type from the expression so that the return type of your expression will match the return type of your method.
Problem
I'm using LINQ to Entities. I have a table called Student; it has ID and Name as it's columns. ID is a primary key. I'd like to be able select the name of the Student and get the amount of Students with the same Name. So for example I'd have this as my table data. ``` ID Name 1 Bob 2 Will 3 Bob ``` After performing the query I'd return a List of Student objects looking like this. ``` Name Quantity Bob 2 Will 1 ``` I guess it is kind of similar to how the Tags page of stackoverflow works; It has the name and the quantity. Anyways, I created a partial class called Student.cs in which I added a Quantity property like this. ``` 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; } } } } ``` I came up with this but I'm getting an error.. ``` 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; } ``` The error i'm getting says something like Can't convert from type Anonymous to the Student list. Does it have something to do with it not recognizing the quantity field I added in the partial class? Thanks!