EF框架搭建小总结--CodeFirst代码优先
前言:之前在下总结编写了一篇 EF框架搭建小总结--ModelFirst模型优先 博文,看到一段时间内该博文的访问量蹭、蹭蹭、蹭蹭蹭...往上涨(实际也不是很多,嘿嘿),但是还是按捺不住内心的喜悦(蛮有成就感的),感觉为大家做了一点点小小的贡献,在下也就再接再厉(趁风大,再浪浪),总结一篇 CodeFirst代码优先的博文,若有不当之处,还望大家斧正。
Code First介绍: Code First模式是一种很cool的模式,手动创建POCO(全称Plain Old Class Object,也就是最基本的CLR Class,实体类)类,数据层DbContext及映射关系,通过Database.SetInitializer(本次采用dbcontext.Database.CreateIfNotExists方法)生成数据库,自动生成方便快速、更易维护、非常灵活。
使用工具: win7操作系统,vs2012, sqlserver2008
开始
1.创建新项目

2.创建完项目后,需要引用"EntityFramework"程序包,且看如何引入
2.1 在【引用】上单击右键,选中【管理NuGet程序包(N)】

2.2 在弹出的窗口上选择【联机】,找到【EntityFramework】程序包,点击安装

2.3 安装后的效果

3 开始上代码
3.1 创建一个User实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace CodeFirst
{
public class User
{
public int Id { set; get; }
public string Name { set; get; }
public string Password { set; get; }
}
}
3.2 创建连接上下文的类,该类的一些说明在代码里已标注
using System;
using System.Collections.Generic;
using System.Data.Entity;// DbContext类需要引入的类库
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace CodeFirst
{
//该类继承于DbContext类,
//DbContext是EntityFramework很重要的部分,连接类与数据库的桥梁,是与数据库通信的主要类
public class CodeFirstDbContext : DbContext {
//构造函数
public CodeFirstDbContext()
: base("name = CodeFirstDbContext")//根据配置文件中链接数据库
//CodeFirstDbContext会在app.config中进行配置
{
}
public DbSet<User> User { get; set; } }
}
3.3 在配置文件App.config中添加内容
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework> <!--连接本地sql server数据库需要配置的文件-->
<connectionStrings>
<add name="CodeFirstDbContext" connectionString="Data Source=.;Initial Catalog=DatabaseName;Integrated Security=True;" providerName="System.Data.SqlClient"/>
</connectionStrings> </configuration>
其中Data Source = . 表示连接的是本地数据库,Initial Catalog=DatabaseName;表示一会创建的数据库名字为DatabaseName
3.4 在主程序中创建数据库,数据表,并填入字段
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace CodeFirst
{
class Program
{
static void Main(string[] args)
{
//创建上下文
CodeFirstDbContext dbcontext = new CodeFirstDbContext();
//创建数据库
dbcontext.Database.CreateIfNotExists();
//创建表,并将字段加入进去
User u = new User();
u.Name = "li";
u.Id = 1;
u.Password = "123456";
//将实体赋予上下文,并添加到表里
dbcontext.User.Add(u);
//保存
dbcontext.SaveChanges();
Console.WriteLine("成功");
Console.ReadKey(); }
}
}
运行主程序后,便会在数据库中成功创建你的数据库,数据表。
结果:

EF框架搭建小总结--CodeFirst代码优先的更多相关文章
- EF框架搭建小总结--CodeFirst模型优先
前言:之前在下总结编写了一篇 EF框架搭建小总结--ModelFirst模型优先 博文,看到一段时间内该博文的访问量蹭.蹭蹭.蹭蹭蹭...往上涨(实际也不是很多,嘿嘿),但是还是按捺不住内心的喜悦(蛮 ...
- EF框架搭建小总结--ModelFirst模型优先
前言:去年刚工作的时候,也是刚刚正式接触.net,当时了解了EF以及三种开发模式,Database First.Model First .Code First.公司用的开发模式是Database Fi ...
- EF-关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析
前有ADO.NET,后有ORM模式的EntityFramework.这两种技术都实现了对数据库的访问操作.如果要说哪种技术好,就看项目架构的大小,使用者的熟练程度等等,毕竟萝卜白菜,各有所爱. 今天要 ...
- Wcf+EF框架搭建实例
一.最近在使用Wcf创建数据服务,但是在和EF框架搭建数据访问时遇到了许多问题 下面是目前整理的基本框架代码,经供参考使用,源代码地址:http://git.oschina.net/tiama3798 ...
- EF框架搭建
EF框架搭配lambda表达式使用起来非常高效便捷,有两种方法使用EF框架: 一是.添加“ADO.NET Entity Data Model”项,绑定配置数据库链接,勾选表和存储过程等,自动生成实体: ...
- C# ORM—Entity Framework 之Code first(代码优先)(二)
一.Entity Framework Code first(代码优先)使用过程 1.1Entity Framework 代码优先简介 不得不提Entity Framework Code First这个 ...
- EF框架 完整项目记录
今天终于能用EF框架搭建一个项目,同时能连接sqlserver 数据库.mysql 数据库 1.必须的文件 2.将必须文件导入项目,此处用到“管理 NuGet 程序包”,由于从网上下载比较慢,此处从本 ...
- Mxnet框架搭建
Mxnet框架搭建 小书匠 kindle Mxnet是亚马逊开发的深度学习框架,和谷歌Tensorflow是同类型的框架. 1.安装Mxnet 这里只展示在线安装,源码编译安装等不演示:GPU安装与 ...
- UI自动化框架搭建之Python3
UI自动化框架搭建--unittest 使用的代码是Python3版本,与时俱进哈哈 解释一下我的框架目录接口(每个人框架的目录接口不一样,根据实际要求) common目录:公共模块,这个地方可以存放 ...
随机推荐
- C#列表所有IIS站点以及相关站点属性
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys ...
- 使用Python的turtle(海龟)模块画图
第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它. import turtle 第二步:创建画布.调用turtle中的Pen函数 t = turtle.Pen() 第 ...
- python---补充django中文报错(1),Django2.7使用sys.setdefaultencoding('utf-8'),以及使用reload(sys)原因
SyntaxError at /blog/ news/story Non-ASCII character , but no encoding declared; see http://python.o ...
- vue-router基本概念及使用
index.html: <!DOCTYPE html> <html> <head> <title></title> <meta cha ...
- 20155321 2016-2017-2 《Java程序设计》第八周学习总结
20155321 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 创建Logger对象 static Logger getLogger(String name ...
- Docker学习笔记一 概念、安装、镜像加速
本文地址:https://www.cnblogs.com/veinyin/p/10406378.html Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...
- Thinkpad X220 升级 Windows 10 后无线网卡消失问题
11年购买的Thinkpad X220从Win7升级到Win10后,用着还是挺顺手的,网络显示等一切正常,直到今天合上盖子电脑睡眠以后再次打开,wifi消失不见.重启,关机再开机,都没用,只显示有线网 ...
- Javascript - LayUI库的流加载
LayUI库的流加载 用的LayUI-v2.2.45,将整个包解压缩后添加到项目,引入两个文件即可,不需要引入Jquery,此库自带: <link href="../js/layui- ...
- Dream_Spark定制第二课
Spark版本定制第2天:通过案例对SparkStreaming透彻理解之二 本期内容: 1 解密Spark Streaming运行机制 2 解密Spark Streaming架构 一切不能进行实时流 ...
- 基于Disruptor并发框架的分类任务并发
并发的场景 最近在编码中遇到的场景,我的程序需要处理不同类型的任务,场景要求如下: 1.同类任务串行.不同类任务并发. 2.高吞吐量. 3.任务类型动态增减. 思路 思路一: 最直接的想法,每有一个任 ...