【问题标题】:Npoco new Database fails with "Value cannot be null"Npoco 新数据库因“值不能为空”而失败
【发布时间】: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


【解决方案1】:

在从版本 3 到版本 5 的更改中,您现在还必须添加 NuGet 包 NPoco.SqlServer。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 2013-11-24
    • 2021-04-01
    相关资源
    最近更新 更多