Entity Framework Code Primero Método AddOrUpdate insertar valores duplicados
Tengo entidad simple:
<code>public class Hall { [Key] public int Id {get; set;} public string Name [get; set;} } </code>
Entonces en elSeed
método que utilizoAddOrUpdate
para rellenar la tabla:
<code>var hall1 = new Hall { Name = "French" }; var hall2 = new Hall { Name = "German" }; var hall3 = new Hall { Name = "Japanese" }; context.Halls.AddOrUpdate( h => h.Name, hall1, hall2, hall3 ); </code>
Luego corro en la Consola de Administración de Paquetes:
<code>Add-Migration Current Update-Database </code>
Está todo bien: tengo tres filas en la mesa "Hall". Pero si lo ejecuto en la Consola de administración de paquetesUpdate-Database
De nuevo ya tengo cinco filas:
<code>Id Name 1 French 2 Japaneese 3 German 4 French 5 Japanese </code>
¿Por qué? Creo que debería ser tres filas de nuevo, no cinco. Traté de usarId
propiedad en lugar deName
Pero no hace la diferencia.
ACTUALIZAR:
Este código produce el mismo resultado:
<code>var hall1 = new Hall { Id = 1, Name = "French" }; var hall2 = new Hall { Id = 2, Name = "German" }; var hall3 = new Hall { Id = 3, Name = "Japanese" }; context.Halls.AddOrUpdate( h => h.Id, hall1); context.Halls.AddOrUpdate( h => h.Id, hall2); context.Halls.AddOrUpdate( h => h.Id, hall3); </code>
También tengo el último EntityFramework instalado a través de nuget.