【发布时间】:2022-01-12 19:51:31
【问题描述】:
我正在尝试将 MVC 项目从 NPoco 3 更新到 NPoco 5。
我不能再使用了:
using var db = new Database("DB");
所以我把它改成:
using var db = new Database(ConfigurationManager.ConnectionStrings["DB"].ConnectionString, DatabaseType.SqlServer2012, SqlClientFactory.Instance);
我什至尝试过:
using var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString);
conn.Open();
using var db = new Database(conn);
但无论我尝试什么, 我只是得到
值不能为空
[异常:找不到指定类型字符串的数据库类型:“SqlServerDatabaseType”。确保引用了相关的程序集 NPoco.SqlServer。]
NPoco.DynamicDatabaseType.MakeSqlServerType(String type) +194
NPoco.DatabaseType.Resolve(String typeName, String providerName) +298
NPoco.Database..ctor(DbConnection connection, DatabaseType dbType, Nullable`1 isolationLevel, Boolean enableAutoSelect) +111
如何在 NPoco 版本 5 中打开数据库连接?它似乎根本不起作用。
(我确实注意到我正在构建 .NET Framework 4.6.1,这也是 NPoco 5 所说的工作。)
如果其他人看到此内容,请提供任何帮助。
【问题讨论】:
-
查看源码后,DatabaseTypes有以下几种:Firebird、MySql、Oracle、OracleManaged、PostgreSql、SQLite。我看不出尝试获取 DatabaseType.SqlServer2012 的类型是如何工作的,它试图找到一个不存在的类型。
标签: c# sql sql-server-2012 npoco