2010-10-27 12 views
6

मैंने डेटाबेस से LINQ से SQL कक्षाएं उत्पन्न की हैं जो मेरे नियंत्रण में नहीं है जिसमें Decimal(38, 5) फ़ील्ड हैं। जाहिरा तौर पर नेट दशमलव प्रकार की सीमा तो LINQ एसक्यूएल कोड जनरेटर को यह तुलना में छोटी है, चेतावनी का एक बहुत फेंक जाता है:LINQ से SQL DBML चेतावनियों को दबाकर

DBML1008: DbType के बीच मैपिंग 'दशमलव (38,5)' और प्रकार ' System.Decimal 'प्रकार की' StructGable24InchOCStuds 'कॉलम में' AddersAndMultiplier 'डेटा हानि हो सकती है जब डेटाबेस

यह अत्यंत संभावना नहीं है कि इन क्षेत्रों में से किसी भी कभी व्यवहार में डेटा हानि हो करने के लिए एक मूल्य काफी बड़ा होगा है से लोड हो रहा है इसलिए मैं इन चेतावनियों को दबाना चाहता हूं। हालांकि, स्पष्ट रूप से वीएस में संवाद के माध्यम से चेतावनी दमन स्थापित करना LINQ से SQL कोड जेनरेटर चेतावनियों के साथ काम नहीं करता है - क्या कोई और तरीका है?

उत्तर

3

मुझे यकीन नहीं है कि चेतावनी को कैसे दबाया जाए, लेकिन मेरे पास संग्रहीत प्रक्रिया का नियंत्रण है जो मेरे सिस्टम पर समस्या का कारण बन रहा है, मैंने वापसी मान को एक छोटे दशमलव पर डाला जो चेतावनी को हटा दिया।

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