Синтаксис порядка колонок Fluent Api
Я пытаюсь понять, как поместить это много-много аннотаций в свободный API. Я просто не знаю синтаксис для представления порядка столбцов.
public class UserNotification
{
[key]
[Column(Order = 1)]
public string UserId { get; set;}
[key]
[Column(Order = 2)]
public int NotificationId {get; set;}
public ApplicationUser User{get; set;}
public Notification Notification {get; set;}
}
Я знаю, что свободно Api будет выглядеть так:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<UserNotification>()
.HasKey(n => new {n.UserId, n.NotificationId});
// What about the Column Order?
}
1 ответ
Вы можете прочитать Key
а также Column
Данные аннотации выглядят следующим образом:
UserNotification имеет ключ, состоящий изстолбцов UserId иNotificationId, причемUserId является первым, аNotificationId- вторым.
то есть атрибут порядка столбцов используется только для определения того, какой столбец является первым, вторым и т. д. в контексте составного первичного ключа.
Свободному API это не нужно, потому что вы описываете как ключевые столбцы, так и их порядок внутри HasKey
выражение:
modelBuilder.Entity<UserNotification>()
.HasKey(n => new { n.UserId, n.NotificationId });
// ^ ^
// first second
Другими словами, вы сделали это правильно, никаких дальнейших действий не требуется.