zoukankan      html  css  js  c++  java
  • ef和mysql使用(一)

    ef开发模式有3种:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。这里我用的是code first 一个简单的例子:

    public class BloggingContext : DbContext
        {
           public BloggingContext() : base("name=testConn")
            { }
            public DbSet<Person> Blogs { get; set; }
            public DbSet<DepartPerson> Posts { get; set; }
        }
        class Program
        {
            static void Main(string[] args)
            {//模型改变重新创建数据库
                 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<BloggingContext>());
                using (var db = new BloggingContext())
                {
                    Person blog = new Person()
                    {
                        Name = "zhangsan",
                        Age = "29",
                        ID = Guid.NewGuid().ToString().Replace("-", "")
                    };
                    db.Blogs.Add(blog);
                    db.SaveChanges();
    
                    foreach (var item in db.Blogs)
                    {
                        Console.WriteLine("Name:" + item.Name);
                    }
                }
    
                Console.Read();
            }

    简单介绍一下Database.SetInitializer方法

    一:数据库不存在时重新创建数据库

    Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>());
     
    二:每次启动应用程序时创建数据库
     
    Database.SetInitializer<testContext>(new DropCreateDatabaseAlways<testContext>());


    三:模型更改时重新创建数据库

     
    Database.SetInitializer<testContext>(new DropCreateDatabaseIfModelChanges<testContext>());


    四:从不创建数据库

     
    Database.SetInitializer<testContext>(null);

     这对这几种方式,可以通过代码做出改动,然后调试一下观察一下数据库的变化,会理解的更透彻!

  • 相关阅读:
    .net反编译原理
    科学使用Log4View2
    头条一面竟然问我Maven?
    SpringCloud Netflix(一) :微服务架构
    Linux环境安装Docker
    Quartz定时任务
    Jedis连接外部Redis
    宝塔phpmyadmin打不开的可能问题及解决方法
    文件上传 Window & Linux
    SpringBoot登录判断
  • 原文地址:https://www.cnblogs.com/aqicheng/p/10044411.html
Copyright © 2011-2022 走看看