我有一些 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?)
所以不确定我缺少什么程序集,或者是否是这种情况。
谢谢
编辑
好的,我的第一个问题已经解决,但现在我有一个新问题,我不知道如何解决,因为我对匿名类型了解不多。
我收到这个错误
无法将类型“System.Collections.Generic.List”隐式转换为“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();
编辑 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}