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);

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

五、需要租用云服务器,域名等其他服务的可以扫描下方二维码,价格优惠,华为云服务:

ef和mysql使用(一)

 

相关文章:

  • 2022-12-23
  • 2021-12-11
  • 2021-10-15
  • 2021-12-29
  • 2021-08-19
  • 2022-01-08
猜你喜欢
  • 2022-12-23
  • 2021-10-04
  • 2021-12-31
  • 2021-11-12
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
相关资源
相似解决方案