nhibernate decimalmin التحقق
-
25-09-2019 - |
سؤال
أحاول استخدام مصادقة Decimalmin من مكتبة التحقق من Nhibernates. لسوء الحظ ، نظرًا لقيود التحويل البرمجي ، أحصل على أخطاء عند محاولة الاستفادة منها. أنا متأكد من أنه شيء بسيط ، لكنني في مرحلة أحتاج إلى الانتقال إلى مهمة أخرى وعدم حرق الوقت بعد الآن حتى يتم تقدير أي مساعدة.
[DecimalMin(10.01)]
public decimal Amount { get; set; }
يستخدم الرمز أعلاه سمة العقد العشرية مع قيمة مُنشئ 10.01. يقبل مُنشئ السمة القيم العشرية. ومع ذلك ، فإن المترجم لن يسمح 10.01 أو 10.01m.
مع 10.01 كقيمة أتلقاها: "لا يمكن تحويل نوع المصدر" مزدوج "إلى استهداف النوع" العشري "
مع 10.01m كقيمة أتلقاها: "يجب أن تكون وسيطة السمة تعبيرًا مستمرًا ، أو نوع التعبير أو تعبير إنشاء الصفيف لنوع معلمة السمة."
لقد غوغل حولها لمحاولة العثور على إجابة ، وفشلني Google-FU اليوم.
هل لدى أي شخص مثال على كيفية استخدام هذا المدقق؟
المحلول
هذا خطأ في nhibernate.validator. العشرات غير ممثلة في معلمات السمات.
استخدم القيم العشرية كبرامز السمة في C#؟
الحل هو تصحيح nhibernate.validator بحيث يأخذ المُنشئ تعويمًا أو مزدوجًا ثم إجراء التحويل إلى عشري في CTOR. أتمنى لو كان لدي إجابة أفضل لك.