У меня две модели
public class Employee
{
public Employee()
{
Active = true;
}
[Key]
public long Id { get; set; }
public List<Service> Services { get; set; }
public List<SubService> SubServices { get; set; }
[NotMapped]
public List<long> ServiceIds { get; set; }
public bool IsSyncedToSP { get; set; }
public Certificate Certificate { get; set; }
[NotMapped]
public List<long> SubServiceIds { get; set; }
public List<long> GetServiceIds()
{
if (ServiceIds != null && ServiceIds.Count > 0)
{
return ServiceIds;
}
else if (Services != null && Services.Count > 0)
{
return Services.Select(s => s.Id).ToList();
}
return new List<long>();
}
и
public class Certificate
{
[Key]
public long Id { get; set; }
[Required]
[UnsyncOnEdit(Unsync = true)]
public string Title { get; set; }
public bool IsSyncedToSP { get; set; }
public List<Employee> Employees { get; set; }
}
Когда я пытаюсь добавить public List<Employee> Employees { get; set; }
это отношение к модели сертификата и пытаюсь добавить миграцию,
EF создает следующую миграцию
public partial class empcert2 : DbMigration
{
public override void Up()
{
RenameTable(name: "dbo.ServiceClients", newName: "ClientServices");
RenameTable(name: "dbo.EmployeeServices", newName: "ServiceEmployees");
DropPrimaryKey("dbo.ClientServices");
DropPrimaryKey("dbo.ServiceEmployees");
AddPrimaryKey("dbo.ClientServices", new[] { "Client_Id", "Service_Id" });
AddPrimaryKey("dbo.ServiceEmployees", new[] { "Service_Id", "Employee_Id" });
}
public override void Down()
{
DropPrimaryKey("dbo.ServiceEmployees");
DropPrimaryKey("dbo.ClientServices");
AddPrimaryKey("dbo.ServiceEmployees", new[] { "Employee_Id", "Service_Id" });
AddPrimaryKey("dbo.ClientServices", new[] { "Service_Id", "Client_Id" });
RenameTable(name: "dbo.ServiceEmployees", newName: "EmployeeServices");
RenameTable(name: "dbo.ClientServices", newName: "ServiceClients");
}
}
миграция пытается переименовать существующие таблицы, и когда я запускаю ее, она выдает ошибку: 2 такой файл не найден.
если я удалю public List<Employee> Employees { get; set; }
эту строку из модели сертификата, странная миграция не будет создана.
Любые идеи, почему это происходит