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}