简体   繁体   English

初始化查询类型Ef核心2.1的数据

[英]Initialize data for Query Types Ef core 2.1

I'm using InMemory database to test my repository logic. 我正在使用InMemory数据库来测试我的存储库逻辑。 But I have this report database view model. 但是我有这个报表数据库视图模型。

public DbQuery<DBVIEWMODEL> Reports { get; set; }

The thing is, I can't initialize it with dummy data for my unit test. 关键是,我无法使用虚拟数据将其初始化用于单元测试。 There is no such thing like, Add, AddRange... 没有像Add,AddRange这样的东西。

So my question; 所以我的问题; am I allowed to initialize this Query type? 我可以初始化此查询类型吗? Or Query type is not meant for unit test? 还是查询类型不适用于单元测试?

FYI: 供参考:

I can do my unit test, if I change DbQuery<> to DbSet<> and set a dummy Id in my view using ROW_NUMBER() . 如果将DbQuery<>更改为DbSet<>并使用ROW_NUMBER()在视图中设置一个虚拟ID,则可以进行单元测试。

My answer is no. 我的回答是不。 A DbSet is a set of data that can be edited, added or deleted. DbSet是可以编辑,添加或删除的一组数据。 But DbQuery represents a query OVER a set of data, there are no C_UD operation (Create, Update, Delete). 但是DbQuery表示对一组数据的查询,没有C_UD操作(创建,更新,删除)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM