我正在尝试使用Dapper运行SQL查询:

use master
go

if exists (select name from sys.databases where name = N'TestDB')
drop database [TestDB]
go

create database [TestDB] on primary (
  name = 'TestDB_Data',
  filename = '$Path\TestDB_Data.mdf',
  size = 40MB,
  maxsize = 2GB,
  filegrowth = 20MB
)

use [TestDB]
go

create table dbo.Posts
(
  Id int identity not null,
  Body nvarchar (max) null
);

我正在使用Dapper,如下所示:
using (SqlConnection connection = new SqlConnection(connectionString)) {
  connection.Open();
  connection.Execute(sqlQuery);
}

但是,使用GO时出现错误。

但是,如果删除GO语句,则在创建Posts时会出现错误,因为未创建表TestDB。

有没有办法使用Dapper解决这个问题?

我只能使用SQL Server SDK来执行此操作。

最佳答案

Dapper无法在这里为您提供帮助。相反,我建议您尝试使用SQL Server管理对象来执行大型SQL命令,如您提到的那样。并且它确实支持GO语句。

您可以查看blog post以获得分步说明。

10-06 12:51