Я решил проблему с порядком столбцов внешнего ключа в базе данных при использовании независимой ассоциации с помощью миграций EF.
Отключите автоматическую миграцию и создайте начальную миграцию для вашей модели данных.
Для модельного класса:
public class Session
{
public int? Id { get; set; }
public Track Track { get; set; }
public Car Car { get; set; }
public int Event { get; set; }
public DateTime Date { get; set; }
public string Name { get; set; }
}
будет сгенерирован код миграции:
CreateTable("dbo.Sessions", c => new
{
Id = c.Int(nullable: false, identity: true),
Event = c.Int(nullable: false),
Date = c.DateTime(nullable: false),
Name = c.String(nullable: false, maxLength: 64),
Car = c.Int(nullable: false),
Track = c.Int(nullable: false),
}) ...
Теперь просто измените порядок столбцов внешних ключей (Car, Track), переместив их вверх. Когда вы создаете новую базу данных и открываете таблицу, порядок столбцов будет соответствовать ожидаемому.