Entityframework Code First 系列之项目搭建

Entityframework(以下简称EF)是微软推出的一个ORM(Object Relational Mapping)框架。

优缺点

优点:

易上手,语法简单,查询容易

更新快,不断补足

缺点:

性能问题,查询速度偏慢,不过随着EF6的推出,查询速度进行了很多优化

Code First

EF提供了多种映射模式,比如说Database FirstModel FirstCode 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