ASP.NET MVC Update-Database команда Проверка сущности завершается неудачно при попытке вставить десятичное число с дробями

Я действительно новичок в ASP.NET, и я имею дело с проблемой здесь. Проблема довольно очевидна в названии, и я пытаюсь ее решить. Вот один из членов списка, который я пытаюсь добавить в базу данных:

new Product 
{
    Name = "Sleep Suit", 
    Description="For sleeping or general wear",
    Price=4.99m, 
    CategoryID=categories.Single( c => c.Name == "Clothes").ID 
}

Это класс продукта в папке моделей:

public partial class Product
    {
        public int ID { get; set; }

        [Required(ErrorMessage = "The product name cannot be blank.")]
        [StringLength(50, MinimumLength = 3, ErrorMessage = "Please enter a product name between 3 and 50 characters in length.")]
        [RegularExpression(@"^[a-zA-Z0-9'-'\s]*$", ErrorMessage = "Please enter a product name made up of letters and numbers only.")]
        public string Name { get; set; }

        [Required(ErrorMessage = "The product description cannot be blank.")]
        [StringLength(200, MinimumLength = 10, ErrorMessage = "Please enter a product description between 10 and 200 characters in length.")]
        [RegularExpression(@"^[,;a-zA-Z0-9'-'\s]*$", ErrorMessage = "Please enter a product description made up of letters and numbers only.")]
        [DataType(DataType.MultilineText)]
        public string Description { get; set; }

        [Required(ErrorMessage = "The price cannot be blank.")]
        [Range(0.10, 10000, ErrorMessage = "Please enter a price between 0.10 and 10000.00")]
        [DataType(DataType.Currency)]
        [DisplayFormat(DataFormatString = "{0:c}")]
        [RegularExpression("^[0-9]+(\\.[0-9][0-9])?$", ErrorMessage = "The price must be a number up to two decimal places")]
        public decimal Price { get; set; }

        public int? CategoryID { get; set; }

        public virtual Category Category { get; set; }

        public virtual ICollection<ProductImageMapping> ProductImageMappings { get; set; }
    }

Когда я пытаюсь запустить метод seed с помощью "Update-Database" в консоли диспетчера пакетов, я получаю эту ошибку.

System.Data.Entity.Validation.DbEntityValidationException: проверка не удалась для одного или нескольких объектов. См. Свойство EntityValidationErrors для более подробной информации.

И это деталь:

BabyStore.Models.Product не прошел проверку - Цена: цена должна быть числом до двух знаков после запятой

По-видимому, это не удается при проверке выражения regex "Price", но я действительно не ввожу что-то, что потерпит неудачу в этом выражении. Как видите, цена объявлена ​​как "4,99 м", которая имеет 2 знака после запятой. Что я должен сделать, чтобы это исправить? Я турок, поэтому мы используем запятую вместо точки при разделении десятичных знаков, так что это может быть проблемой, но я не совсем знаю.

Любое мнение ценится, спасибо.

0 ответов

Другие вопросы по тегам