Wie kann ich eine generische Listensammlung in C # zurückgeben?
Ich habe einige Linq to SQL-Methode und wenn es die Abfrage tut, gibt es einen anonymen Typ zurück.
Ich möchte diesen anonymen Typ an meine Service-Schicht zurückgeben, um Logik und andere Aufgaben zu erledigen.
Ich weiß jedoch nicht, wie ich es zurückgeben soll.
Ich dachte, ich könnte das schaffen
public List<T> thisIsAtest()
{
return query;
}
aber ich bekomme diesen fehler
Error 1 The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)
Also nicht sicher, welche Baugruppe mir fehlt oder ob das überhaupt der Fall ist.
Vielen Dank
BEARBEITEN
Ok, mein erstes Problem wurde gelöst, aber jetzt habe ich ein neues Problem, das ich nicht genau beheben kann, da ich nicht viel über anonyme Typen weiß.
Ich bekomme diesen Fehler
Der Typ 'System.Collections.Generic.List' kann nicht implizit in 'System.Collections.Generic.List' konvertiert werden
Hier ist die Abfrage
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();
Bearbeiten 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;
}
Das Select hat dies in sich
Anonymous Types:
a is new{string Prefix}
b is new{ 'a prefix, decimal? marks}