C# - Kerosene ORM - 找不到默认引擎和连接字符串

Posted

技术标签:

【中文标题】C# - Kerosene ORM - 找不到默认引擎和连接字符串【英文标题】:C# - Kerosene ORM - Can't find the default engine and the connection string 【发布时间】:2015-07-30 07:55:19 【问题描述】:

我是 C#/.NET 世界的新手,我目前正在尝试使用 Kerosene ORM 开发一个 C# 应用程序,以将其链接到我的 mysql 数据库。这是一个由 WAMP 托管的本地数据库。

要通过 KeroseneORM 启动与数据库的连接,我需要提供引擎名称和连接字符串。

引擎名称是什么?在煤油代码中是这样描述的:

/// <param name="name">A string containing either the invariant name of the engine, or
/// its tail part, or the name of a connection string entry in the configuration files,
/// or null. In the later case, the name of the default connection string entry is used.</param>

我不知道“引擎”是什么,所以我尝试在 App.config 文件中添加一个连接字符串条目,如下所示:

<connectionStrings>
    <clear />
    <add name="LocalDB"
     providerName="MySql.Data.MySqlClient"
     connectionString="Server=localhost;Database=bms;Uid=root;Pwd=root;" />
</connectionStrings>

但它会引发一个异常,说“找不到 'LocalDB' 注册引擎。”

所以基本上,什么是“引擎”,我怎样才能将它提供给煤油? 我知道这可能是一个愚蠢的问题,但我在互联网上找不到任何答案,而且煤油确实没有很好的文档记录。

其次,我知道我的连接字符串是错误的,因为服务器名称不是正确的,但我找不到正确的。那么有谁知道在本地机器上使用 WAMP 时的服务器名称是什么?我尝试了诸如“127.0.0.1”或“localhost\mysql_wampserver”之类的东西,但没有任何效果。

提前感谢您,并为我的英语不好(不是我的母语)感到抱歉。

【问题讨论】:

【参考方案1】:

app.config 必须有这个部分:

 <keroseneORM>
    <customEngines>
      <add id="SqlServer2008"     type="Kerosene.ORM.SqlServer.v2008.Concrete.DataEngine" assembly="Kerosene.ORM.SqlServer.dll" />
      <add id="SqlServer2012" type="Kerosene.ORM.SqlServer.v2012.Concrete.DataEngine" assembly="Kerosene.ORM.SqlServer.dll" />
    </customEngines>
    <dataLink connectionString="LocalDB" />
  </keroseneORM>

【讨论】:

谢谢!即使我已经得到了信息,那也是一个正确的答案!

以上是关于C# - Kerosene ORM - 找不到默认引擎和连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

找不到类 [org.springframework.orm.hibernate.LocalSessionFactoryBean]

测试 Symfony 包:找不到教义.orm.entity

PHP Doctrine 初学者:找不到 Doctrine\ORM\Tools\Setup

Laravel CRUD ORM 找不到模型

在 laravel 之外使用 ORM 找不到我的测试模型“用户”[关闭]

Typeorm + Firebase 功能:部署后“在任何 orm 配置文件中都找不到连接选项”