Код Entity Framework сначала добавляет ограничение для положительных чисел
Мне нужно добавить ограничение только для положительного числа (0-...) и ограничить число как (...-1).
CreateTable(
"dbo.Drinks",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(),
ImageUrl = c.String(),
Price = c.Int(nullable: false),
Count = c.Int(nullable: false)
})
.PrimaryKey(t => t.Id);
//.Constraint ???
Что-то вроде "unsigned" в MS SQL. Спасибо.
2 ответа:
Entity Framework fluent configuration в настоящее время не поддерживает параметры min или max value, только length.
Вы можете, однако, реализовать проверку таким образом, через аннотации:
[Range(1, int.MaxValue, ...)] int YourInt{ get; set; }
Но это приведет только к проверке во время сохранения, а не к фактическому ограничению, добавляемому в базу данных, как это было бы с fluent configuration / migration.
PS
Я люблю миграции Entity Framework, но я использую его только во время разработки до первого освобождать. Это огромная экономия времени, пока вы не отправите свой продукт. После этого я обычно сам настраиваю базу данных, включая индексы и ограничения, и полностью отказываюсь от использования миграции EF.
Базы данных должны быть клинически скорректированы в процессе производства, поскольку они обычно являются одним из наиболее (если не самым) важных факторов в производительности и оптимизации. И, к сожалению, миграция EF не дает вам всей необходимой гибкости, хотя она охватывает самые важные аспекты. вариант использования.