如何在无密钥内存的情况下对EF Core 3视图进行单元测试? [英] How to unit test EF core 3 view with no key in-memory?
本文介绍了如何在无密钥内存的情况下对EF Core 3视图进行单元测试?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用EF Core 3,并编写了一些单元测试,但似乎无法为视图设置测试数据.
I'm playing around with EF Core 3 and writing some unit tests and don't seem to be able to setup test data for a view.
当我尝试保存时,出现错误:
When I'm trying to save, I get the error:
因为没有主键,所以无法跟踪类型的实例.只能跟踪具有主键的实体类型
Unable to track an instance of type because it does not have a primary key. Only entity types with primary keys may be tracked
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();
}
推荐答案
查看全文