Utiliser Dapper pour enregistrer des données qui est décimal qui est censé entrer dans un champ d'argent AlwaysEncrypted entraîne cette erreur:Dapper conversion C# décimal en décimal SQL au lieu d'argent (toujours Encrypted)
choc de type Opérande: décimal (5,1) crypté avec (...) est incompatible avec l'argent crypté avec (...)
Comment dites-vous explicitement à Dapper d'utiliser l'argent comme le type C# Décimal < -> L'argent est le préféré cartographie?
decimal income = 4500m;
using (var connection = new ReliableSqlConnection(connectionString)) {
try {
connection.Open();
connection.Query<int>(
@"INSERT INTO [tablename]
([MonthlyAfterTaxIncome])
VALUES
(@MonthlyAfterTaxIncome);
SELECT CAST(SCOPE_IDENTITY() as int)",
new {
MonthlyAfterTaxIncome = income
})
.FirstOrDefault();
} finally {
connection.Close();
}
}
colonne Détails:
[MonthlyAfterTaxIncome] [money] ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = [KeyName], ENCRYPTION_TYPE = Deterministic, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256') NOT NULL,)
http://stackoverflow.com/questions/582797/should-you-choose-the-money-or-decimalx-y-datatypes-in-sql-server –