前言:去年刚工作的时候,也是刚刚正式接触.net,当时了解了EF以及三种开发模式,Database First、Model First 、Code First。公司用的开发模式是Database First,由于公司有一套成熟的框架,我只需要按部就班的开发即可,因此就没有详细学习过这些开发模式,总觉得缺点什么。正好这段时间没有什么任务,并且在博客园浏览学习了很多大神的对技术、生活、职业、人生的一些总结,学习很多,这几天对这三种开发模式有了进一步的理解。我觉得我也该学着给大家分享一些知识了,就先趁热打铁,把我对 ModelFirst的实现过程加以总结、分享下来,若有不当之处,还望各路大神多多指教

使用工具: win7操作系统,vs2012, sqlserver2008

开始:

1.新建项目:

2.在新建好的项目中新建ADO.NET实体数据模型,如下图

点击新建项后,弹出如下窗口:选中ADO.NET实体数据模型,填好新建项的名称,

点击添加后,开始选择模型内容,我们选择空模型,点击完成按钮

新建完成后,在vs2012页面上会弹出edmx关系图,如下

3.新增实体

在edmx关系图的空白处单击鼠标右键,添加实体

在弹出的窗口中添加实体内容,下图是创建了一个student实体,主键为ID

为实体添加属性:在student的属性上右键新增标量属性

在添加属性后,右键选择属性,可以在右方的标记处对属性进行修改

4 与数据库关联,生成相关数据表

在空白处单击右键,选择‘根据模型生成数据库’,弹出数据库连接窗口,点击新建连接

在弹出的窗口点击更改

选择Microsoft SQL Server,点击确定

在弹出的窗口中,填入你的数据库相关信息

连接成功后,单击下一步,

在弹出的窗口上点击完成,成功与sql server关联

完成上述操作后,Ctrl+Shift+S保存更新全部生成的页面

执行生成的sql脚本,找到系统生成的sql脚本,右键执行,即可在关联数据库中创建表

生成的数据表:

5 往数据表中添加数据

在Program类中添加代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ModelFirst
{
class Program
{
static void Main(string[] args)
{
#region 添加数据
//1.声明上下文
ModelFirstContainer dbContext = new ModelFirstContainer();
//2.对数据库的操作
student st = new student();//实例化实体 //为实体赋值
st.ID = 1;
st.NAME = "张三";
st.AGE = "18"; //增加实体到上下文
dbContext.studentSet.Attach(st);
dbContext.Entry(st).State = System.Data.EntityState.Added; //保存
dbContext.SaveChanges(); #endregion
}
}
}  

运行程序后,在数据表中成功添加新的数据,如下图:

下一篇 CodeFirst

EF框架搭建小总结--ModelFirst模型优先的更多相关文章

  1. EF框架搭建小总结--CodeFirst模型优先

    前言:之前在下总结编写了一篇 EF框架搭建小总结--ModelFirst模型优先 博文,看到一段时间内该博文的访问量蹭.蹭蹭.蹭蹭蹭...往上涨(实际也不是很多,嘿嘿),但是还是按捺不住内心的喜悦(蛮 ...

  2. EF框架搭建小总结--CodeFirst代码优先

    前言:之前在下总结编写了一篇 EF框架搭建小总结--ModelFirst模型优先 博文,看到一段时间内该博文的访问量蹭.蹭蹭.蹭蹭蹭...往上涨(实际也不是很多,嘿嘿),但是还是按捺不住内心的喜悦(蛮 ...

  3. Wcf+EF框架搭建实例

    一.最近在使用Wcf创建数据服务,但是在和EF框架搭建数据访问时遇到了许多问题 下面是目前整理的基本框架代码,经供参考使用,源代码地址:http://git.oschina.net/tiama3798 ...

  4. Entity - 使用EF框架进行增删改查 - 模型先行

    模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...

  5. EF框架搭建

    EF框架搭配lambda表达式使用起来非常高效便捷,有两种方法使用EF框架: 一是.添加“ADO.NET Entity Data Model”项,绑定配置数据库链接,勾选表和存储过程等,自动生成实体: ...

  6. EF框架 完整项目记录

    今天终于能用EF框架搭建一个项目,同时能连接sqlserver 数据库.mysql 数据库 1.必须的文件 2.将必须文件导入项目,此处用到“管理 NuGet 程序包”,由于从网上下载比较慢,此处从本 ...

  7. MVC实战之排球计分(六)—— 使用EF框架,创建Controller,生成数据库。

    在上篇博客我们写到,此软件的数据库连接我们使用的是EF框架,code first模式下, 通过模型类,在创建controller的时候直接生成数据库,完成数据库的连接,与操作. 在使用EF框架之前,我 ...

  8. Mxnet框架搭建

    Mxnet框架搭建 小书匠 kindle  Mxnet是亚马逊开发的深度学习框架,和谷歌Tensorflow是同类型的框架. 1.安装Mxnet 这里只展示在线安装,源码编译安装等不演示:GPU安装与 ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2 ...

随机推荐

  1. CentOS7中安装MySQL5.7 (转)

    安装必要的组件 yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio li ...

  2. 第六次meeting会议

    [Beta] 第六次Daily Scrum Meeting 一.本次会议为第六次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 四.今日任务安排 成员 ...

  3. 【集美大学1411_助教博客】团队作业7——Alpha冲刺之事后诸葛亮

    写在前面的话 alpha阶段都顺利完成了,大家这次作业完成得都很认真.我觉得通过这些问题,大家既可以回顾自己的alpha阶段,又可以给beta阶段做一些指引.但看了所有组的博客,没有一个组在这些问题之 ...

  4. 团队作业4——第一次项目冲刺 SiStH DaY

    项目冲刺--??? 你以为penta kill以后就没事了嘛,就没得写了吗?你还期待我会给你一个六杀?七杀?别逗了,你以为你玩三国杀呢,做项目这么严肃的事情,怎么能玩笑. 那么我就在这里明明白白地告诉 ...

  5. 201521123109《java程序设计》第四周学习总结

    1. 本周学习总结 #1.1 尝试使用思维导图总结有关继承的知识点. #1.2 使用常规方法总结其他上课内容. - 了解了有关类的继承的知识 - 了解继承和多态的关系以及一些关键字内容 -  学习了O ...

  6. java程序设计 彩票购买抽奖程序 团队博客

    一.项目介绍 题目要求 功能要求: 模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能. 1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性. 2.允许注册用户购买彩票:手 ...

  7. 201521123117 《Java程序设计》第13周学习总结

    1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 分析结果:从 ...

  8. 201521123075 《Java程序设计》第12周学习总结

    1. 本周学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文件读出显示. 1 ...

  9. ThinkPHP空操作及命名空间

    空操作是指访问不存在的路径: 解决方法:在控制其中创建 _empty方法 空控制器是指访问存在的控制器: 解决方法:创建EmptyController控制器 命名空间: 初识命名空间是Library: ...

  10. Bitbucket 触发内网 Jenkins Build

    为了保证安全性多数的持续集成系统都会部署在公司内部的局域网中,这样如果代码部署在 Bitbucket 等环境中就只能通过轮询的方式来触发 Build.那么有没有办法通过 Bitbucket 的 Web ...