带有 dapper 的内存中的 SQLite 生成不存在的 table 错误
SQLite in memory with dapper generates non-existent table error
我有以下用于创建 table 的代码:
string query = @"CREATE TABLE GVP_USERS_TAGS(
ID integer NOT NULL PRIMARY KEY AUTOINCREMENT,
DATEINS datetime NOT NULL DEFAULT DATETIME('now'),
NAME varchar(250) NOT NULL,
OWNER integer NOT NULL,
USER_ID integer NOT NULL,
PRODUCT_ID integer NOT NULL,
TYPE_ID integer NOT NULL,
VALUE varchar(250) NOT NULL,
PRODUCT_TYPE_ID integer NOT NULL,
Updated_Row timestamp NOT NULL,
MOVIE_TYPE_ID integer NOT NULL DEFAULT 0,
PIN_REQUIRED integer NOT NULL DEFAULT 0
)";
return await queryExecutor.ExecuteAsync(query);
然后使用以下代码:
var countQuery = $"SELECT COUNT(*) AS [Count] FROM GVP_USERS_TAGS NOLOCK {where}";
int count = await queryExecutor.ExecuteScalarAsync<int>(countQuery, parameters);
抛出以下异常:
SQL logic error\r\nno such table: GVP_USERS_TAGS\
在文件系统中使用时的详细信息。
我能够使用 _connection.Open();
解决
我有以下用于创建 table 的代码:
string query = @"CREATE TABLE GVP_USERS_TAGS(
ID integer NOT NULL PRIMARY KEY AUTOINCREMENT,
DATEINS datetime NOT NULL DEFAULT DATETIME('now'),
NAME varchar(250) NOT NULL,
OWNER integer NOT NULL,
USER_ID integer NOT NULL,
PRODUCT_ID integer NOT NULL,
TYPE_ID integer NOT NULL,
VALUE varchar(250) NOT NULL,
PRODUCT_TYPE_ID integer NOT NULL,
Updated_Row timestamp NOT NULL,
MOVIE_TYPE_ID integer NOT NULL DEFAULT 0,
PIN_REQUIRED integer NOT NULL DEFAULT 0
)";
return await queryExecutor.ExecuteAsync(query);
然后使用以下代码:
var countQuery = $"SELECT COUNT(*) AS [Count] FROM GVP_USERS_TAGS NOLOCK {where}";
int count = await queryExecutor.ExecuteScalarAsync<int>(countQuery, parameters);
抛出以下异常:
SQL logic error\r\nno such table: GVP_USERS_TAGS\
在文件系统中使用时的详细信息。
我能够使用 _connection.Open();