Ich habe eine gespeicherte Prozedur, die Ausgangsparameter wie folgt verwendet:Dezimalgenauigkeit und Skalierung mit LINQ und gespeicherte Prozedur mit Ausgabeparameter verloren
ALTER PROCEDURE [GetAmount]
(
@orderID [int],
@totalcost decimal(18,2) OUTPUT
)
SELECT @totalcost = cost
FROM mytable
WHERE orderID = @orderID
Wenn ich ziehen Sie die gespeicherte Prozedur auf den Designer, der resultierende Code in der designer.cs Datei endet die Präzision und die Skala zu verlieren, wie folgt aus:
[Parameter(DbType="Decimal")] ref System.Nullable<decimal> totalcost
Dies ist ein Problem, weil Dinge wie Produktpreise und Auftragssummen werden aufzurunden (dh 19.95 wird 20).
Jetzt kann ich die .cs-Datei manuell korrigieren, aber ich muss daran denken, es jedes Mal zu tun, wenn ein Update gemacht wird. Mache ich etwas falsch? Gibt es eine Möglichkeit, meine gespeicherte Prozedur zu ändern, die es LINQ ermöglicht, Präzision und Skalierung automatisch zu erkennen?
Interessant - Geld funktioniert. Irgendwelche Ideen warum? – Ethan
Ich weiß nicht wirklich, warum dezimal nicht richtig funktioniert. Ich sollte etwas mehr damit spielen. Es tut uns leid. –