Доброго времени суток, хочу в бд для полей задать составной альтернативный ключ, как это можно провернуть через атрибуты Entity Framework? Есть еще мысль попробовать через миграцию, но предпочтителен через атрибуты, поиск не дал наличия такого атрибута, может плохо искал?
ps. EF6, .Net, C#, code first
Ответ
В документации от Microsoft сказано:
Alternate keys can not be configured using Data Annotations.
Перевод от меня:
Альтернативные ключи не могут быть настроены с помощью аннотации
данных, т.е. атрибутов.
Поскольку Вы используете Code-First, то рекомендую попробовать Fluent API.
Приведу пример по настройке одного свойства с помощью Fluent API^
class MyContext : DbContext
{
public DbSet
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity
class Car
{
public int CarId { get; set; }
public string LicensePlate { get; set; }
public string Make { get; set; }
public string Model { get; set; }
}
Полный список атрибутов поддерживаемых EF:
KeyAttribute
StringLengthAttribute
MaxLengthAttribute
ConcurrencyCheckAttribute
RequiredAttribute
TimestampAttribute
ComplexTypeAttribute
ColumnAttribute
TableAttribute
InversePropertyAttribute
ForeignKeyAttribute
DatabaseGeneratedAttribute
NotMappedAttribute
Комментариев нет:
Отправить комментарий