Я действительно новичок в 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 не прошел проверку - Цена: цена должна быть числомс точностью до двух десятичных знаков
Очевидно, что при проверке выражения регулярного выражения "Price" происходит сбой, но я не ввожу что-то, что не выполнит это выражение.Как вы видите, цена объявлена как 4.99m, которая имеет 2 знака после запятой.Что я должен сделать, чтобы это исправить?Я турок, поэтому мы используем запятую вместо точки при разделении десятичных знаков, так что это может быть проблемой, но я не знаю.
Любое мнение приветствуется, спасибо.