ef core 2.1 利用Query Type查询视图

ef core新加入的功能“Query Type”可以让我们很方便的查询视图而不需要做任何特殊处理。不过在代码上和普通的查询有些不同。

先贴文档:https://docs.microsoft.com/en-us/ef/core/modeling/query-types

文档中有一些很重要的地方单独提一下:

在DbContext中,普通table定义模型用的类型是DbSet,而视图用的是DbQuery

        //传统table
        public virtual DbSet<Address> Address { get; set; }
         //视图
        public virtual DbQuery<BrowserReportView> BrowserReportView { get; set; }

普通table在OnModelCreating里调用的是Entity和ToTable方法进行声明,而视图调用的是Query和ToView。

            modelBuilder.Entity<Address>(entity =>
            {
                entity.ToTable("Address", "mall");
            });

            modelBuilder.Query<BrowserReportView>().ToView("BrowserReportView", "mall");

DbQuery在查询上和DbSet相差不大,基本上通用。

原文地址:https://www.cnblogs.com/axel10/p/9367900.html