Entity Framework快速入门--实例篇 DatabaseFirst


在上一篇中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象。好,废话少说,直入主题。

第一步:创建控制台项目

这个就不多说了,如果新建项目你还不知道,那先去学学基础吧。

第二步:创建实体模型

在项目上右击 添加新建项目→Ado.Net实体数据模型

如下图所示:

第三步:与现有的数据库进行连接生成EF实体

在做这步之前,首先确定你是否已经有现有数据库,当然在这提供我自己的数据库脚本。

View Code

然后按照如下所示,选择从数据库生成实体数据模型【当然如果你想使用CodeFirst方式也是可以的,这是后话了】:

新建连接到现有的数据库,如下图所示:

点击下一步,选择我们要生成实体对应的表、试图、存储过程等,如下图所示:

最后点击完成,则系统帮我们生成了数据库实体类以及EDMX的定义文件。

如图所示:

到现在我们前期的准备工作就结束了,我们接下来看看我们怎么使用EF帮我们生成的数据库网关

第四步:写增删改查来讲解EF的基本使用

添加如下代码:

复制代码
    
    
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EF
{
class Program
{
static void Main( string [] args)
{
// 创建数据库访问网关
using (SchoolDBEntities schoolEntities = new SchoolDBEntities())
{
// 查询到老师对应的班级的外键,注意是使用的linq to ef ,它是生成的命令树,然后是生成的sql

var cls
= (from c in schoolEntities.T_Class
where c.ID == 2
select c).SingleOrDefault
< T_Class > ();
// 创建teacher一个实体
T_Teacher teacher = new T_Teacher();
teacher.Address
= " 北京海淀上地 " ;
teacher.Email
= " malun666@126.com " ;
teacher.T_Class
= cls;

teacher.Name
= " Flydragon " ;
teacher.Phone
= " 110 " ;
// 将创建的实体,放入网关的数据实体的集合
schoolEntities.T_Teacher.AddObject(teacher);
// 写回数据库
schoolEntities.SaveChanges();
}
Console.WriteLine(
" OK " );
}
}
}
复制代码

最终数据库中添加了一条数据,如下图所示:

然后我正好打开了Sql Server Profiler工具我们看一下,EF生成的SQL语句是什么,如下图所示:

最后一个就是执行insert插入数据库表的sql,如下图所示:

好这样我们一个入门的实例程序,就结束了,我们看到最后EF还是生成的SQL执行的。所以EF本身性能的损失也就是根据对实体集合的修改,然后根据edmx的定义最终成sql这段,也就是浪费了点cpu而已,而且ef还会自动帮我们对sql进行优化,所以还是蛮不错的!

欢迎拍砖指点!

此实例代码下载

Entity Framework快速入门--索引贴

作者:FlyDragon

出处:http://www.cnblogs.com/fly_dragon/

关于作者:专注于微软平台项目架构、管理和企业解决方案。如有问题或建议,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通malun666@126.com 联系我,非常感谢。

分类:  .Net
标签:  EFORM持久化Entity Framework
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值