实体框架 – 视图
实体框架 – 视图
视图是包含通过预定义查询获得的数据的对象。视图是一个虚拟对象或表,其结果集来自查询。它与真实的表非常相似,因为它包含数据的列和行。以下是视图的一些典型用途 –
- 过滤基础表的数据
- 出于安全目的过滤数据
- 集中分布在多个服务器上的数据
- 创建一组可重用的数据
视图的使用方式与表的使用方式类似。要将视图用作实体,首先需要将数据库视图添加到 EDM。将视图添加到模型后,除了创建、更新和删除操作外,您可以像使用普通实体一样使用它。
让我们来看看,如何将视图从数据库添加到模型中。
步骤 1 – 创建一个新的控制台应用程序项目。
步骤 2 – 右键单击解决方案资源管理器中的项目,然后选择添加 → 新项目。
步骤 3 – 从中间窗格中选择 ADO.NET 实体数据模型,然后在名称字段中输入名称 ViewModel。
步骤 4 – 单击添加按钮,这将启动实体数据模型向导对话框。
步骤 5 – 从数据库中选择 EF Designer,然后单击下一步按钮。
步骤 6 – 选择现有数据库并单击下一步。
步骤 7 – 选择实体框架 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...
我们建议您逐步执行上述示例,以便更好地理解。