ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
来源:互联网 发布:淘宝卖假货的美妆店 编辑:程序博客网 时间:2024/04/30 11:07
ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
ADO.NET Entity Framework 是.Net Framework 3.5 SP1 引入的实体框架,它使开发人员可以通过对象模型(而不是逻辑/关系数据模型)专注于数据。实体框架Entity Framework使用概念层、映射层和逻辑层将逻辑数据库结构抽象化。本文http://forum.entlib.com 开源论坛小组提供。
实体数据模型(Entity Data Model)
实体框架的核心位于其模型中。实体框架支持表示数据库中的关系架构的逻辑存储模型。关系数据库通常存储数据的方式与应用程序使用数据的方式不同。通常,这会迫使开发人员按照数据库包含数据的结构检索数据。因此,开发人员通常将数据加载到更适合处理业务规则的业务实体中。在本示例中,以逻辑模型表示关系数据库的构架,业务实体表示概念模型。实体框架使用映射层在模型之间搭建了桥梁。因此,实体框架的模型中有三个处于活动状态的层:
1. 概念层(Conceptual layer) - 表示数据的概念模型,包括实体和相互关系。
2. 逻辑层(Logical layer)- 描述数据在数据库的存储模型。
3. 映射层(Mapping layer) - 在概念层和逻辑层模型之间建立映射。
这三层允许将数据从关系数据库映射到更加面向对象的业务模型。实体框架提供了使用 XML 文件定义这些层的方法。它还基于概念模型的架构生成了一系列类。可以针对这些类进行编程以直接与数据交互。这提供了抽象级别,因此开发人员可以针对概念模型而不是关系模型进行编程。
下面演示如何使用Entity Framework 构建示例程序。
首先,使用Entity Data Model Wizard创建如下NorthwindDB.edml文件。
概念模型和逻辑模型视图:
本示例程序采用Northwind 示例数据库,下面开始编写代码对Customers表进行增、删、改、查等等操作。
1.新增Customers记录
using (NorthwindEntities myDb = new NorthwindEntities())
{
Customers customer = new Customers();
Random rm = new Random();
customer.CustomerID = "A" + rm.Next(9999).ToString();
customer.CompanyName = "EntLib.com Forum";
customer.Address = "http://www.EntLib.com";
myDb.AddToCustomers(customer);
int count = myDb.SaveChanges();
txtCustomerID.Text = customer.CustomerID;
}
2.更新Customers记录
using (NorthwindEntities myDb = new NorthwindEntities())
{
var query = from customer in myDb.Customers
where customer.CustomerID == txtCustomerID.Text.Trim()
select customer;
foreach (var row in query)
{
row.CompanyName = "Updated Company Name";
}
myDb.SaveChanges();
}
3.删除Customers记录
using (NorthwindEntities myDb = new NorthwindEntities())
{
var query = from customer in myDb.Customers
where customer.CustomerID == txtCustomerID.Text.Trim()
select customer;
foreach (var row in query)
{
myDb.DeleteObject(row);
}
myDb.SaveChanges();
}
4.查询Customers,返回所有记录
using (NorthwindEntities myDb = new NorthwindEntities())
{
dataGridView1.DataSource = myDb.Customers;
}
本示例程序由http://forum.entlib.com 开源ASP.NET论坛小组提供,如有问题或疑问,欢迎访问http://forum.entlib.com 论坛。
- ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
- ADO.NET Entity Framework 入门示例向导(附Demo程序下载)- 系列2
- ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
- 使用ADO.NET Entity Framework的实体作为数据源Data Source(附Demo程序下载)- 系列3
- ADO.NET Entity Framework 入门示例
- ADO.NET Entity Framework 深入分析, Part 4 (提供示例程序下载)
- ADO.NET Entity Framework 深入分析, Part 4 (提供示例程序下载)
- ADO.NET Entity Framework
- ADO.NET Entity Framework
- ADO.NET Entity Framework
- ADO.NET Entity FrameWork
- (转)ADO.NET Entity Framework
- ADO.NET Entity Framework 学习(1)
- ADO.NET Entity Framework 学习(2)
- ADO.NET Entity Framework,Code First简单示例
- ADO.NET Entity Framework学习入门——对象模型
- 关注ADO.NET Entity Framework
- Mysql ADO.NET Entity Framework
- 原来单词还能这样背.......
- csdn blog api
- 外企面试--基本涵盖了所有问题
- How to install new version of mysql
- 陈忠和哭了
- ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
- Hardware Requirements in Unicode Systems
- usaco 4.3 Buy Low, Buy Lower 动态规划
- 麻省理工要求本科生三年看完的电影
- javascript 触发事件列表
- 迷你万年历for PocketPC
- 西班牙对决美国篮球比赛
- 北京欢迎你
- 电脑的悖论