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 знака после запятой. Что я должен сделать, чтобы это исправить? Я турок, поэтому мы используем запятую вместо точки при разделении десятичных знаков, так что это может быть проблемой, но я не совсем знаю.
Любое мнение ценится, спасибо.