Экземпляр типа сущности «WalletType» не может быть отслежен, поскольку другой экземпляр со значением ключа «{TypeId: 1}» уже отслеживается. При подключении существующих объектов убедитесь, что подключен только один экземпляр объекта с данным значением ключа.
// Открытый класс WalletType.cs WalletType
{
public WalletType()
{
}
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int TypeId { get; set; }
[MaxLength(150)]
public string TypeTitle { get; set; }
public virtual ICollection<Wallet> Wallets { get; set; }
}
//////////////////////////////// //SeedData.cs открытый класс SeedData {public static void Initialize (IServiceProvider serviceProvider) {using (var context = new ApplicationDbContext (serviceProvider.GetRequiredService> ())) {// Поиск любых фильмов. if (context.WalletTypes.Any ()) {return;// БД была посеяна}
context.WalletTypes.AddRange(
new WalletType
{
TypeId = 1,
TypeTitle = "function1"
},
new WalletType
{
TypeId = 1,
TypeTitle = "function2"
}
);
context.SaveChanges();
}
}
}
/////////////////////////////////////////////////// //Program.cs открытый класс Program {
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
try
{
var context = services.
GetRequiredService<ApplicationDbContext>();
context.Database.Migrate();
SeedData.Initialize(services);
}
catch (Exception ex)
{
var logger = services.GetRequiredService<ILogger<Program>>();
logger.LogError(ex, "An error occurred seeding the DB.");
}
}
host.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}