My implementation code for seeding in Entity Framework 6 dosent seem compatible with EntityFramework core
Here is my code
public class CustomerOrderSeedData : DropCreateDatabaseIfModelChanges<CustomerOrderEntities>
{
protected override void Seed(CustomerOrderEntities context)
{
GetOrderDetails().ForEach(od => context.OrdersDetails.Add(od));
context.Commit();
}
private static List<OrdersDetails> GetOrderDetails()
{
return new List<OrdersDetails>
{
new OrdersDetails {
OrderId = 1,
ProductId = 1,
Quantity = 10,
UnitPrice = 12,
Discount = 3
},
new OrdersDetails {
OrderId = 1,
ProductId = 2,
Quantity = 3,
UnitPrice = 4,
Discount = 2
}
}
}
EntityFrameworkCore doesn't seem to like DropCreateDatabaseIfModelChanges keyword.Could somebody show me an example of how seeding is done using EntityFrameworkcore.
Yes.You cannot use EF 6.X implementation with the EF core.B'cos EF core is having different APIs for that.
You can run the seeding code within a service scope in
Startup.Configure()
as shown below.Here is the link which you can see complete implementation of the above code snippet (see under the Seeding section).
Implementing Seeding EF Core 1.0