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