我有一些 linq to sql 方法,当它执行查询时,它返回一些匿名类型。
我想将该匿名类型返回到我的服务层以对其执行一些逻辑和操作。
虽然我不知道怎么退货。
我以为我能做到
public List<T> thisIsAtest()
{
return query;
}
但我收到这个错误
Error 1 The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)
所以不确定我缺少哪个程序集或者是否确实如此。
Thanks
EDIT
好吧,我的第一个问题已经解决了,但现在我有一个新问题,我不知道如何解决,因为我对匿名类型不太了解。
我收到这个错误
无法隐式转换类型
'系统.集合.通用.列表'
到“System.Collections.Generic.List”
这是查询
DbContext.Table.Where(u => u.Table.UserId == userId && u.OutOFF != 0)
.GroupBy(u => new { u.Table.Prefix })
.Select(group => new { prefix = group.Key,
Marks = group.Sum(item => (item.Mark * item.Weight) / item.OutOFF) })
.ToList();
Edit 2
public class ReturnValue
{
string prefix { get; set; }
decimal? Marks { get; set; }
}
public List<ReturnValue> MyTest(Guid userId)
{
try
{
var result = dbContext.Table.Where(u => u.Table.UserId == userId && u.OutOFF != 0).GroupBy(u => new { u.Table.Prefix })
.Select(group => new { prefix = group.Key, Marks = group.Sum(item => (item.Mark * item.Weight) / item.OutOFF) }).ToList();
return result;
}
catch (SqlException)
{
throw;
}
选择里面有这个
Anonymous Types:
a is new{string Prefix}
b is new{ 'a prefix, decimal? marks}