Je joue avec EF Core 3 et j'écris des tests unitaires et ne semble pas pouvoir configurer des données de test pour une vue.
Quand j'essaie de sauver, j'obtiens l'erreur:
Impossible de suivre une instance de type car il n'a pas de clé primaire. Seules les types d'entité avec les clés primaires peuvent être suivies
public class EFContext : DbContext
{
public DbSet<ViewItem> ViewItems { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ViewItem>().HasNoKey().ToView("vTestView");
}
}
using (EFContext efContext = new EFContext())
{
efContext.ViewItems.Add(new ViewItem
{
Name = "This is test item #1"
});
efContext.SaveChanges();
}
Je recommande d'utiliser cette impressionnante bibliothèque moqueuse: https://github.com/rgvlee/entityframeworkcore.tsting
ensuite, vous pouvez facilement faire:
var mockedDbContext = Create.MockedDbContextFor<TestDbContext>();
mockedDbContext.Query<TestQuery>().AddRangeToReadOnlySource(expectedResult);