2010-10-27 21 views
6

Ho generato classi LINQ to SQL da un database non sotto il mio controllo che ha molti campi Decimal(38, 5). A quanto pare la gamma del tipo .NET decimale è inferiore a questo, in modo che il LINQ to generatore di codice SQL sta gettando un sacco di avvertimenti:Soppressione degli avvisi LINQ to SQL DBML

DBML1008: Mapping tra DbType 'decimale (38,5)' e di tipo ' System.Decimal' in colonna 'StructGable24InchOCStuds' di tipo 'AddersAndMultiplier' potrebbe causare la perdita di dati durante il caricamento dal database

E' estremamente improbabile che qualcuno di questi settori potrà mai avere un valore abbastanza grande da causare la perdita di dati, in pratica, quindi mi piacerebbe sopprimere questi avvertimenti. Tuttavia, apparentemente l'impostazione della soppressione degli avvisi tramite la finestra di dialogo in VS non funziona con gli avvisi del generatore di codice LINQ to SQL - esiste un altro metodo?

risposta

3

Non sono sicuro di come sopprimere l'avviso ma poiché ho il controllo della stored procedure che causa il problema sul mio sistema, il valore restituito è stato convertito in un decimale più piccolo che ha rimosso l'avviso.

SELECT CAST(SUM(AdFee) AS DECIMAL(19, 3))