EF6, составной ключ, достаточно ли аннотации? Или мне также нужно использовать Fluent API?C#

Место общения программистов C#
Anonymous
EF6, составной ключ, достаточно ли аннотации? Или мне также нужно использовать Fluent API?

Сообщение Anonymous »

У меня есть 3 объекта:

Код: Выделить всё

public class AspNetUser
{
public string Id {get; set;}
}

public class Event
{
public int Id {get; set;}
}

public class UserEvent
{
[Column(Order=0), Key, ForeignKey("AspNetUsers")]
public string UserId { get; set; }

[Column(Order=1), Key, ForeignKey("Events")]
public int EventId { get; set; }

public DateTime EnrolTime { get; set; }

public virtual AspNetUser User { get; set; }
public virtual Event Event { get; set; }
}
Как вы можете видеть, UserEvent — это просто таблица отношений, которая содержит как UserId, так и EventId из двух таблиц.
Мои вопросы:< /p>
  • Достаточно ли аннотации, чтобы сообщить EF о создании двух внешних ключей? Или мне также придется использовать Fluent API, чтобы сделать это в методе OnModelCreating() в классе DbContext? Или для этого мне нужно создать класс конфигурации?
    В этом посте я увидел кое-что, что меня смутило: несколько столбцов Entity Framework в качестве первичного ключа от Fluent Api
  • ForeignKey("X")
    Я думаю, X должно быть именем таблицы, а не именем объекта, верно? Например. X должен быть AspNetUsers (который находится в базе данных), а не AspNetUser, который является именем объекта.


Подробнее здесь: https://stackoverflow.com/questions/309 ... fluent-api

Вернуться в «C#»