Tôi đang sử dụng LINQ to Entities.Tại sao biểu thức LINQ này không hoạt động?
Tôi có một bảng có tên Sinh viên; nó có ID và Tên là các cột của nó. ID là khóa chính.
Tôi muốn có thể chọn tên của Sinh viên và nhận số tiền Học sinh có cùng tên.
Vì vậy, ví dụ: tôi có dữ liệu bảng này.
ID Name
1 Bob
2 Will
3 Bob
Sau khi thực hiện truy vấn, tôi sẽ trả về Danh sách đối tượng sinh viên như thế này.
Name Quantity
Bob 2
Will 1
Tôi đoán nó tương tự như cách trang Thẻ ngăn xếp hoạt động; Nó có tên và số lượng.
Dù sao, tôi đã tạo một lớp học có tên là Student.cs, trong đó tôi đã thêm thuộc tính Số lượng như thế này.
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; }
}
}
}
tôi đến với điều này nhưng tôi nhận được một lỗi ..
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;
}
Các lỗi tôi nhận được nói cái gì đó như không thể chuyển đổi từ loại Chưa xác định vào danh sách sinh viên. Liệu nó có liên quan gì đến việc nó không nhận ra trường số lượng mà tôi đã thêm vào trong một phần không?
Cảm ơn!
Một số lời khuyên chung: ngừng sử dụng var cho đến khi bạn có được nhiều kinh nghiệm . Nếu bạn đã cố gắng sử dụng 'IQueryable = (từ ...' bạn sẽ có số không nhanh hơn nhiều trong vấn đề. –