2017-10-25 3 views
1

Ich sehe, dass dieser Fehler häufig ist, aber ich habe es nicht geschafft Lösung für meinen Fall, oder ich habe es nicht geschafft, die genaue Ursache für das Problem zu verstehen..NET SQL über Petapoco "Unterabfrage gab mehr als 1 Wert zurück. Dies ist nicht erlaubt, wenn die Unterabfrage folgt =,! =, <, <= , >,> ="

mir die Folge Abfrage von einer .NET-Repository durch PetaPoco ORM Ausführung

var foundEntries = Database.Execute("SELECT COUNT(GroupName) 
            FROM Group 
            WHERE [email protected] AND IsDeleted=0" 
            , groupName); 

Das Ergebnis wird bekommen:

Unterabfrage gab mehr als 1 Wert. Dies ist nicht zulässig, wenn die Unterabfrage folgt =,! =, <, < =,>,> = oder wenn die Unterabfrage als Ausdruck verwendet wird. Die Anweisung wurde beendet.

Die seltsame Sache ist, dass, wenn ich es in SQL Server-Umgebung ausführen, gibt es überhaupt kein Problem.

Jede Hilfe ist willkommen.

+2

Die Abfrage in Ihrer Frage wird diesen Fehler nicht verursachen. Es muss eine andere Abfrage vom Framework ausgeführt werden, die das verursacht. Ich schlage vor, dass Sie die tatsächlichen Anweisungen verfolgen, die an SQL Server gesendet werden, um die Problemabfrage zu identifizieren. –

+0

Haben Sie eine Methode Database.ExecuteNonQuery? – Homerothompson

+0

@gnsanty gibt es leider keine solche Methode – George

Antwort

1

sollten Sie verwenden SingleOrDefault statt Execute

var foundEntries = Database.SingleOrDefault<int>("SELECT COUNT(GroupName) 
            FROM Group 
            WHERE [email protected] AND IsDeleted=0" 
            , groupName); 
Verwandte Themen