EF6:在多语句事务内不允许使用 CREATE DATABASE 语句

Posted 心存善念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF6:在多语句事务内不允许使用 CREATE DATABASE 语句相关的知识,希望对你有一定的参考价值。

一、问题

使用ef codefirst开发,无法创建数据库的问题,如下提示

Server Error in / Application.

在多语句事务内不允许使用 CREATE DATABASE 语句。

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: 在多语句事务内不允许使用 CREATE DATABASE 语句。

Source Error: 


Line 32:          */
Line 33:         public ZmBlogDbContext(string nameOrConnectionString)
Line 34:             : base(nameOrConnectionString)
Line 35:         {
Line 36: 

二、解决方法
这是 EF 抛出的异常,只要先创建好数据库就可以了

create database [ZmBlog]

 

提示:

这个错误是在第一次运行abp出现的,创建数据库后,这时要使用 update-database 进行数据迁移,否则基础数据是空的

 

以上是关于EF6:在多语句事务内不允许使用 CREATE DATABASE 语句的主要内容,如果未能解决你的问题,请参考以下文章

EF6 事务

EF6.0 下sql语句自动生成的参数类型decimal(18,2)修改

EF RemoveRange 在事务范围内不起作用

使用 Database.Create 的对象名称“dbo.__MigrationHistory”无效;传入连接字符串时的EF6.02

在 EF6 中,是不是可以使用每个调用结构的上下文跨服务调用执行事务?

译第41节---EF6-事务