Entityframework Code First 系列之项目搭建
Entityframework(以下简称EF)是微软推出的一个ORM(Object Relational Mapping)框架。
优缺点
优点:
易上手,语法简单,查询容易
更新快,不断补足
缺点:
性能问题,查询速度偏慢,不过随着EF6的推出,查询速度进行了很多优化
Code First
EF提供了多种映射模式,比如说Database First、Model First、Code First。由于本系列主要使用Code First,因此其他两种不做详细描述。有兴趣的可以去官网查看。
新建项目
首先新建一个控制台应用程序:MLS.CodeFirst,如下图:
然后我们需要安装EF程序包,输入命令 Install-Package EntityFramework,如下图:
这时我们可以定义实体类了,我们模拟公司、员工,定义两个实体类:
Company:
1 public class Company 2 { 3 public long Id { get; set; } 4 5 [DisplayName("名称"),Required,StringLength(50)] 6 public string Name { get; set; } 7 8 [DisplayName("描述")] 9 public string Descript { get; set; } 10 }
View Code
Employee:
1 public class Employee 2 { 3 public long Id { get; set; } 4 5 public long CompanyId { get; set; } 6 7 [DisplayName("名称"),Required,StringLength(50)] 8 public string Name { get; set; } 9 10 public Gender Gender { get; set; } 11 public int Height { get; set; } 12 public decimal Weight { get; set; } 13 }
View Code
MLSContext:
1 public class MLSContext:DbContext 2 { 3 public MLSContext() : base("name=MLSContext") { } 4 5 public virtual DbSet<Company> Company { get; set; } 6 7 public virtual DbSet<Employee> Employee { get; set; } 8 9 protected override void OnModelCreating(DbModelBuilder modelBuilder) 10 { 11 base.OnModelCreating(modelBuilder); 12 } 13 }
View Code
注意这里指定的“name=MLSContext”,所以我们需要在App.Config里面添加数据库链接:
1 <connectionStrings> 2 <add name="MLSContext" connectionString="data source=.\MSSQLSERVER2012;initial catalog=MLS.CodeFirst;user id=admin;password=admin;multipleactiveresultsets=True;application name=EntityFramework" providerName="System.Data.SqlClient" /> 3 </connectionStrings>
View Code
这时候我们可以在Main函数里面坐下测试,是否可以增删改查了。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 using (var ctx = new MLSContext()) 6 { 7 var company = new Company() 8 { 9 Name = "北琳网络有限公司", 10 Descript = "It's a good Company." 11 }; 12 ctx.Company.Add(company); 13 ctx.SaveChanges(); 14 } 15 } 16 }
View Code
运行程序,执行代码后,我们可以看到数据库里面已经有了对应的表:
并且数据已经插入:
到此项目已经搭建好,至于后面的维护会在接下来的文章讲解。
源码地址:http://files.cnblogs.com/files/Kingdizzy/MLS.CodeFirst.rar
转载于:https://www.cnblogs.com/Kingdizzy/p/5645885.html
Entityframework Code First 系列之项目搭建相关推荐
- Entityframework Code First 系列
总篇, 下面会添加每个小篇的链接. 目录如下: 项目搭建 -- 转载于:https://www.cnblogs.com/Kingdizzy/p/5645802.html
- [Spring Boot系列]1. 项目搭建之一
文章目录 1. 总述 2. Spring Boot官网产生Maven类型的项目后导入Eclipse 步骤1:进入项目创建页面: https://start.spring.io/, 确认框框中的输入. ...
- 【 .NET Core 3.0 】框架之二 || 后端项目搭建
前言 至于为什么要搭建.Net Core 平台,这个网上的解释以及铺天盖地,想了想,还是感觉重要的一点,跨平台,嗯!没错,而且比.Net 更容易搭建,速度也更快,所有的包均由Nuget提供,不再像以前 ...
- angular6 mysql_Angular6项目搭建
安装工具: Nodejs, npm 最新版, https://nodejs.org/en/ Angular CLI, npm install -g @angular/cli Visual ...
- SSM项目搭建一(终)
2019独角兽企业重金招聘Python工程师标准>>> 项目搭建使用的不仅仅只是前面所说的那些,还有一下比如gson或jackson.个人类库.定时器等等,这里就不一一赘述了.下面看 ...
- 004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication、启动图标
一.官方地址 Spring:http://spring.io/ Spring Project:http://spring.io/projects Spring boot:https://project ...
- React系列---Webpack环境搭建(二)不同环境不同配置
React系列---Webpack环境搭建(一)手动搭建 React系列---Webpack环境搭建(二)不同环境不同配置 React系列---Webpack环境搭建(三)打包性能优化 实际项目中,往 ...
- Maven精选系列--私库搭建及使用
转载自 Maven精选系列--私库搭建及使用 为什么要使用私库 maven默认去远程中央仓库下载JAR包的,访问国外网络相当慢,如果团队每个人都去下载一遍无疑是网络的浪费,当然也可以添加国内的镜像,如 ...
- Spring mvc+ maven + MyBatis + Oracle + IDEA 项目搭建 - framework 进阶中(一)
原文链接 http://blog.csdn.net/qq184377902/article/details/51493642 结合自身情况加以修改搭建的框架,记录以防备忘,方便日后学习参考. Befo ...
最新文章
- 设计模式(4)-序列生成器之单例模式
- 服务器负载不高 响应慢_负载均衡有哪几大类别?
- SharePoint 2013 开发——SharePoint Designer 2013工作流
- .NET部分知识点整理
- C#中dynamic的正确用法 以及 typeof(DynamicSample).GetMethod(Add);
- 引用管理器没有程序集_如何使用Zotero插入引用文献
- sql 批量插入数据到Sqlserver中 效率较高的方法
- 投资大鳄摩根士丹利成Accellion FTA 服务器被黑事件的又一个受害者
- python心脏线绘制代码_JavaScript图形实例:曲线方程
- python语句和语法结构
- Linux系统 Centos6 安装
- MyBatis中出现Mapped Statements collection does not contain value 问题
- mysql驱动和url在5.7以上版本变化
- 3.1词典搜索的数据结构与通配符查询
- 头像 linux,头像制作大师下载-头像制作大师appv1.2.0-Linux公社
- 行列式(Determinants)
- JUC(二):Java 线程预备知识
- WPS衍生新软件,填补一大缺憾,让office汗颜,Excel用户很开心
- wx python 基本控件
- Red Hat Enterprise Linux Server release 7.1 (Maipo) 安装gcc 的几种方式