这真的阻碍了这个过程。我有一个存储为短标记的数据库,并且想要提取一个条目并在其上创建摘要统计信息。这看起来很简单,但我似乎必须跳过很多圈才能得到它,所以一定缺少一些基本的东西。
这是基本方法,这很有效。但是我能做的就是将它传递给 DataGridView。
private void MarksSummary(string StudentID)
{
int ID = Convert.ToInt32(StudentID);
//get the average of the marks using entity
using (var context = new collegestudentsEntities1())
{
var StudentMarks = (from m in context.Marks
where m.StudIDFK == ID
select new
{
m.Marks1,
m.marks2,
m.Marks3,
m.Marks4
});
dataGridView1.DataSource = StudentMarks.ToList();
其他任何事情,似乎都是可笑的长篇大论。
例如:我不能这样做
var Marklist = new List<Int16>();
StudentMarks.ToList().ForEach(m => Marklist.Add(m));
当我得到“无法从 'AnonymousType#1' 转换为 'short'”
或这个
Marklist = StudentMarks.ToList();
或这个
double av = Marklist.Average();
然而我可以在一行数据上做一个愚蠢的 forEach
foreach (var s in StudentMarks)
{
Marklist.Add(s.Marks1);
Marklist.Add(s.marks2);
Marklist.Add(s.Marks3);
Marklist.Add(s.Marks4);
}
这可以愉快地输出
txtMarksOverFifty.Text = Marklist.Count(s => s > 50).ToString();
txtMarksFailed.Text = Marklist.Count(s => s < 50).ToString();
那么我缺少什么来轻松地从查询中获取值?
谢谢你的帮助 :-)