ef和mysql使用(一)
程序员文章站
2022-04-28 13:37:33
ef开发模式有3种:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。这里我用的是code first 一个简单的例子: 简单介绍一下Database.SetInitializer方法 一:数据库不存在时重新创建数据库 Database ......
ef开发模式有3种:datebase first(数据库优先)、mode 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);
这对这几种方式,可以通过代码做出改动,然后调试一下观察一下数据库的变化,会理解的更透彻!
推荐阅读
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之十一Swagger使用一
-
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
-
关于sql和mysql对于别名不能调用的一些理解
-
MySQL 存储过程和"Cursor"的使用方法
-
PHP中nowdoc和heredoc使用需要注意的一点
-
《Visual C# 从入门到精通》第一章使用变量、操作符和表达式——读书笔记
-
mysql视图之创建视图(CREATE VIEW)和使用限制实例详解
-
支付宝电子医保卡在哪申领 一张图看懂电子医保领取和使用步骤
-
MySQL中datetime和timestamp的区别及使用详解
-
mysql 使用inet_aton和inet_ntoa处理ip地址数据的实例