تعويم في قاعدة البيانات ل؟ في الشباك
-
23-08-2019 - |
سؤال
إذا كان لديك تعويم في MSSQLServer، إلى ماذا تعريز هذا في .NET؟
يمكنك تحويله إلى مضاعفة أو سوف تخسر الأرقام؟
المحلول
خادم قاعدة البيانات float
و c # / vb double
لديك نفس التمثيل. هذا هو التعيين الصحيح. ما لا تريد القيام به هو خريطة SQL Server float
إلى C # / VB float
كما قد ينطوي على فقدان الدقة. خادم قاعدة البيانات real
خرائط على C # / VB float
.
يمكن العثور على تعريفات T-SQL وتعريفات النوع الحقيقي في MSDN.. وبعد C # تعريف مزدوج يمكن العثور عليها في MSDN. كذلك، كما يمكن أن تعويم تعريف.
نصائح أخرى
الدفع:
- أنواع بيانات SQL Server وما يعادلها .NET Framework (MSDN) للحصول على مرجع كامل في تعيينات نوع البيانات بين SQL Server و .NET
في حالتك SQL Server نوع الأصلي يطفو خرائط لخادم SQL CLR sqldouble. وثم مزدوج في الشباك
تحديث (مايو 2016):
إصدار محدث من مستند MSDN: تعيين بيانات المعلمة CRL
C # لديه نوع تعويم، لكنه سيتم تحويله لمضاعفة بخير أيضا.
من تذكرتي، ستقوم معظم أدوات Orm بتعيين عليه إلى نوع عشري لن يفقد الدقة مثل ضعف أو تعويم.
ذلك يعتمد على حجم تعويم SQL. للحصول على "تعويم" عادي وهو ما يعادل تعويم (53)، تحتاج إلى استخدام D # مزدوج. بالنسبة ل Float (24) أو أقل c # تعويم سيكون كافيا، أو سوف تعمل مزدوجة كذلك.
رمز التلقائي الذي تم إنشاؤه بواسطة Microsoft XSD تحويل SQL Float (تعويم افتراضي) إلى C # مزدوج.
لذلك يمكنك أن تشير إلى أنه غير صحيح.
حتى تعمل مع تعويم يحتوي على حجم افتراضي.