zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    图像处理笔记(五)
    图像处理笔记(四)
    图像处理(三)
    图像处理(二)
    图像处理(一)
    Halcon安装注意事项
    Tensorflow从开始到放弃(技术篇)
    Tensorflow从开始到放弃
    python 2.x中的中文
    WPF使用border画框
  • 原文地址:https://www.cnblogs.com/Kingdizzy/p/5645885.html
Copyright © 2011-2022 走看看