• 体验EF5 Code First


    Code First 不是EF5新的特性,EF4中已经可以Code First,这里只是简单再把Code First的步骤简要说明下。好了,废话少说,开始工作。

    1、新建一个测试工程,这里选择的是控制台应用程序,并命名为【EFCodeFirstDemo】

         

    2、下载引入EntityFramework

            在 工具->库程序包管理器->程序包管理器控制台

            

             在弹出的程序包管理器控制台中输入:Install-Package EntityFramework (如果已经安装,则可以输入Update-Package EntityFramework)

           

             安装成功后,可在项目的引用中看到 EntityFramework已被成功引入进来。

            

    3、新增一个简单类,命名为【Customer.cs】

     1 using System.ComponentModel.DataAnnotations;
     2 namespace EFCodeFirstDemo.Models
     3 {
     4     public class Customer
     5     {
     6         [Key]
     7         public string Id { get; set; }
     8         public string Name { get; set; }
     9         public string Address { get; set; }
    10     }
    11 }

    4、新增DbContext类,命名为【DataContext】

     1 using System.Data.Entity;
     2 namespace EFCodeFirstDemo.Models
     3 {
     4     public class DataContext : DbContext
     5     {
     6         public DataContext()
     7             : base("name=DataContext")
     8         {
     9         }
    10         public DbSet<Customer> Customers { get; set; }
    11     }
    12 }
    5、新增业务代码类,命名为【CustomerManager】
     1 using System.Collections.Generic;
     2 using System.Linq;
     3 namespace EFCodeFirstDemo.Models
     4 {
     5     public class CustomManager
     6     {
     7         public List<Customer> GetCustomers()
     8         {
     9             var context = new DataContext();
    10             var list = context.Customers.ToList();
    11             return list;
    12         }
    13     }
    14 }
     
    6、在控制台中测试代码:
    using System;
    using EFCodeFirstDemo.Models;
     
    namespace EFCodeFirstDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                var manager = new CustomerManager();
                var list = manager.GetCustomers();
                Console.WriteLine("当前共有{0}个客户记录", list.Count);
                Console.ReadLine();
            }
        }
    }
     
    好了,此时一个简单的EF CodeFirst已经完成,现在我们来F5运行下,发现出现异常了,异常信息为:

    一看异常信息,原来我们还少了一个步骤,即还没有把类与数据库进行映射。
    好,那现在我们开始创建数据库先:
    1、创建一个库,命名为【EFCodeFirstDemo】
      
    2、创建表,好了,此时的表名应该是我们Code First 的类名(Customer) 还是实体集( Customers )呢?嗯,应该是实体集Customers才是正确的。
     

    3、表创建好以后,我们可以先手工对表新增几条测试数据。

     
    4、现在数据也有了,那么现在只需要在配置文件中加入对应的数据库连接即可。
     

    5、运行F5,看看运行结果
     

     
    好了,结果出来了,讲到这里,应该可以收工了,但这里还需要一点说明的是,code frist 需要的Connectionstring 与不是code frist的connectionstring 是有些不一样的,而且 providerName 也是不一样的,具体哪儿不一样,就大家比较下就一目了然了。收工。
  • 相关阅读:
    centos 添加 composer
    laravel5 缓存的使用
    git 的使用
    php 消息队列 rabbitmq 的安装使用
    vue插件大汇总
    vue 2.0 Gzip打包压缩
    Easy Mock 为啥那么打不开了?
    element ui 打印 表格
    解决 element 日期范围选择问题(只能选择相邻的 连两个月)
    vue router 的路由传参 params 和 query 的 区别
  • 原文地址:https://www.cnblogs.com/liaotongquan/p/2806214.html
Copyright © 2020-2023  润新知