📜  Entity Framework-视图

📅  最后修改于: 2020-11-21 07:20:27             🧑  作者: Mango


视图是一个对象,其中包含通过预定义查询获得的数据。视图是虚拟对象或表,其结果集来自查询。它与真实表非常相似,因为它包含数据的列和行。以下是视图的一些典型用法-

  • 过滤基础表的数据
  • 出于安全目的过滤数据
  • 集中分布在多个服务器上的数据
  • 创建可重用的数据集

可以使用与使用表类似的方式来使用视图。要将视图用作实体,首先需要将数据库视图添加到EDM。将视图添加到模型后,除了创建,更新和删除操作外,您可以使用与普通实体相同的方式来使用它。

让我们看一下如何从数据库向模型添加视图。

步骤1-创建一个新的控制台应用程序项目。

应用项目

步骤2-在解决方案资源管理器中右键单击项目,然后选择添加→新建项目。

项目解决方案资源管理器

步骤3-从中间窗格中选择“ ADO.NET实体数据模型”,然后在“名称”字段中输入名称ViewModel。

步骤4-单击添加按钮,这将启动实体数据模型向导对话框。

添加按钮

步骤5-从数据库中选择EF Designer,然后单击下一步按钮。

实体模型向导

步骤6-选择现有数据库,然后单击下一步。

现有数据库

步骤7-选择Entity Framework 6.x,然后单击下一步。

实体框架下一页

步骤8-从数据库中选择表和视图,然后单击完成。

表格检视

您可以在设计器窗口中看到已创建视图,并且可以在程序中将其用作实体。

在解决方案资源管理器中,您可以看到MyView类也是从数据库生成的。

让我们举一个例子,其中所有数据都是从视图中检索的。以下是代码-

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

执行上述代码后,您将收到以下输出-

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

我们建议您逐步执行上述示例,以更好地理解。