Ich verwende AutoMapper IQueryable Erweiterung ProjectTo zum Auswählen von Daten. Wenn ich versuche, Komponententest für diese Methode zu schreiben, die diese Erweiterungsmethode verwenden, bekomme ich diese Ausnahme.AutoMapper ProjectTo Erweiterung Mindestens ein Objekt muss IComparable implementieren
Mindestens ein Objekt muss IComparable implementieren.
Ich habe auch versucht, Schnittstelle für Typ zu implementieren, der in ProjectTo-Erweiterung verwendet wird, aber die gleiche Ausnahme trat auf.
In Unit-Test verwende ich Moq für spöttische EntityFramework DbContext
Hier ist der Code, die Ausnahme zurück:
freePacks = packageQuery.ProjectTo<PackageDTO>();
return new PackageQueryResult
{
query.OldestPacks
? freePacks.OrderBy(p => new { p.ProdDt, p.Cert }).NoLock()
: freePacks.OrderByDescending(p => new { p.ProdDt, p.Cert }).NoLock()
};
Wo nolock() ist
static List<T> NoLock<T>(this IQueryable<T> query)
{
var txn = new System.Transactions.TransactionScope(TransactionScopeOption.RequiresNew,
new TransactionOptions
{
IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted
}))
{
List<T> toReturn = query.ToList();
txn.Complete();
return toReturn;
}
}
Ist eine Möglichkeit, Wie kann ich dieses Problem lösen?
Vielen Dank für jede Beratung
Vielen Dank! Jetzt funktioniert es –