Entity Framework快速入门--ModelFirst
Entity Framework带给我们的不仅仅是操作上的方便,而且使用上也很是考虑了用户的友好交互,EF4.0与vs2010的完美融合也是我们选择它的一个理由吧。相比Nhibernate微软这方面做的的确是很不错。
下面我将使用CodeFirst方式来做个简单是实际例子与大家分享。
我们还是和 前面的文章 Entity Framework快速入门--实例篇一样,创建一个控制台项目。
第一步:创建控制台项目
第二步:在项目上右击添加Ado.Net 实体数据模型
如图所示:

第三步: 选择生成实体的方式 "空模型"
如图所示:

第四步:添加EF实体
从工具栏中拖一个实体到edmx设计器中,并命名为Student,然后在属性页中修改此实体的实体集名称为Student,并添加两个标量属性Name,Age【复杂属性,和导航属性在后面的文章我会介绍】如下图所示:

第五步:根据模型生成数据库

注意是在edmx空白处右击,选择根据模型生成数据库,并选择我们要创建的数据库连接。如下图所示:

然后点击确定,点击下一步→完成后,弹出我们生成的根据模型生成的sql,在生成的sql页面里右击执行sql,如下图所示:

查看数据库中已经帮我们创建好了SchoolDB和表Student,如下图所示:

这个很是欣喜吧,这个自动化工具的确非常省事,很喜欢微软提供的这样傻瓜式的操作。
第六步:使用EF帮我们插入一条数据
首先看一下,EF帮我们自动生成的代码:主要是数据库访问网关和实体类Student,如下图所示:

然后添加如下代码,并执行
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
EFCodeFirst{
class
Program {
static
void
Main(
string
[] args) {
using
(SchoolContainer schoolEntities
=
new
SchoolContainer()) {
//
创建student实例
Student stu
=
new
Student { Age
=
,Name
=
"
Flydragon
"
};
//
将上面的实例放入网关对应的实体集合
schoolEntities.Student.AddObject(stu);
//
持久化到硬盘
schoolEntities.SaveChanges(); } Console.WriteLine(
"
OK
"
); } }
程序运行成功。查看数据库:

结果执行正确。
好我们总结一下,首先我上来就添加一个实体模型,然后在上面添加一个实体类,并根据模型生成sql而直接生成数据库,然后直接使用ef帮我们生成的ObjectContext和数据库实体Student就可以直接操作数据库的表了。这也是CodeFirst编程方式的比较吸引人的地方吧。
微软能够做的如此方便易用,的确很令人佩服!
Entity Framework快速入门--索引贴
参考页面:.html
Entity Framework快速入门--ModelFirst的更多相关文章
- Entity Framework快速入门--IQueryable与IEnumberable的区别
IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...
- 实体框架(Entity Framework)快速入门--实例篇
在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 ...
- Entity Framework快速入门--直接修改(简要介绍ObjectContext处理机制)
在介绍Entity Framework的修改实体到数据库的方法之前呢,我们先简要的介绍一下ObjectContext的处理机制. 1.ObjectContext的处理机制 ObjectContext是 ...
- 实体框架(Entity Framework)快速入门
实体 框架 (Entity Framework )简介 实体框架Entity Framework 是 ADO .NET 中的一组支持 开发 面向数据的软件应用程序的技术.是微软的一个ORM框架. OR ...
- Entity Framework快速入门--IQueryable与IEnumberable的区别(转载)
IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...
- Entity Framework快速入门笔记—增删改查
第一步:创建一个控制台应用程序,起名为EFDemo 2. 第二步:创建一个实体模型 (1)在EFDemo项目上面右击选择添加—新建项—在已安装的选项中选择数据—ADO.NET实体对象模型,如图所示: ...
- Entity Framework 程序设计入门二 对数据进行CRUD操作和查询
前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, <LLBL Gen + Entity Framework 程序设计入门& ...
- Entity Framework实体模型 入门视频教程
Entity Framework实体模型 入门视频教程 恢复内容开始--- 第一步 创建一个 控制台应用程序 第二步 创建一个ADO.NET 数据实体模型 DbModel.edmx 需要跟数据库进行连 ...
- 使用MVC5的Entity Framework 6入门 ---- 系列教程
使用MVC5的Entity Framework 6入门(十二)——为ASP.NET MVC应用程序使用高级功能 为ASP.NET MVC应用程序使用高级功能这是微软官方教程Getting Starte ...
随机推荐
- 关于ASP.NET Web Api的HelpPage文档注释问题
关于ASP.NET Web Api的HelpPage文档注释问题 以前我用微软的HelpPage来自动生成的webAPI帮助文档.在使用了一段时间后发现只能显示Controller上面写的注释文档内容 ...
- 2017-3-2 C#链接数据库实现登陆
只是链接一个数据库就有好多的知识:) 实际操作下来,主要是两种登陆方式: 1.Windows的身份验证: 2.Sql Sever的身份验证: 两种的方法不同,但是主要是通过复制创建数据库的字符串来链接 ...
- HBase跨版本数据迁移总结
某客户大数据测试场景为:Solr类似画像的数据查出用户标签--通过这些标签在HBase查询详细信息.以上测试功能以及性能. 其中HBase的数据量为500G,Solr约5T.数据均需要从对方的集群人工 ...
- 阿里巴巴Java开发手册快速学习
Java作为一门名副其实的工业级语言,语法友好,学习简单,大规模的应用给代码质量的管控带来了困难,特别是团队开发中,开发过程中的规范会直接影响最终项目的稳定性. 善医者“未有形而除之”,提高工程健壮性 ...
- [.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则
[.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则 1,什么是设计模式? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计 ...
- Python 模块之 string.py
用法 字符串常量: import string print(string.ascii_lowercase) print(string.ascii_uppercase) print(string.asc ...
- KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
- Visual Studio 2015/2017 与ASP.NET CORE 联合创建具有SPA模式的Angular2模板
虽然注册博客园很久,但是一直没有什么可写的,真心感觉好尴尬了,这次终于找到了一点可以写,有点小兴奋和小害羞呢. 进入主题,前端SPA模式越来越受到欢迎,Core 也开始被很多企业提上日程,但是因为这个 ...
- markown编辑器截图粘贴预览,并将图片传至七牛云
最近在做一个项目,需要实现类似QQ截图后,就是能够在富文本编辑器中粘贴截图并预览. 先看一下效果: 分析一下实现步骤: QQ截图后在编辑器中粘贴,肯定会有一个粘贴事件,即 paste 事件 在事件回调 ...
- 解决input的回车enter和失焦blur冲突问题:实现回车保存,blur还原编辑内容功能
最近做项目遇到: 背景:点击单元格,easyUI自动生成input可编辑框. 问题点:input的回车enter和失焦blur冲突问题:实现回车保存,blur还原编辑内容功能 要实现需求: 1.回车键 ...