【问题标题】:How to use more than one SQLite databases using LinqToDB如何使用 LinqToDB 使用多个 SQLite 数据库
【发布时间】:2018-05-09 17:58:52
【问题描述】:

我正在使用 LinqToDB 和 LinqToDB.SQLite 在我的应用程序中访问数据库。 我的 WPF 应用程序中有两个独立且唯一的数据库。 我有两个这样的连接字符串:

<add name="AddonManager" connectionString="Data Source=AddonManager.sqlite3" providerName="SQLite" />
<add name="AddonDb" connectionString="Data Source=AddonDb.sqlite3" providerName="SQLite" />

在代码中,我尝试使用以下代码访问第二个数据库 (AddonDb):

using (var dbContext = new DataModels.AddonDbDB())
{
    Guid newId = Guid.NewGuid();

    DataModels.Addon newAddon = new DataModels.Addon();
    newAddon.AddonGuid = newId.ToString();
    newAddon.AddonName = addonName;
    newAddon.GitUrl = gitUrl;

    dbContext.Insert(newAddon);

    return newId;
}

似乎只引用了第一个连接字符串。如果我将第二个连接字符串向上移动,它就可以工作。但是,这意味着无法访问其他数据库并遇到同样的问题。

我尝试在第一行 AddonDbDB("AddonDb.sqlite3") 中尝试建立连接,但我遇到了对“配置”不满意的错误。我在文档中找不到任何内容,甚至说拥有多个数据库甚至是一种选择,甚至是自定义连接字符串。

以前有人遇到过这个吗?诚然,我已经挖掘了非常小的 SQLite 示例集,并尝试了不同的连接字符串组合。我已经搜索了哪些“配置”可以接受,但信息很少。

为什么不把它们放在一个数据库中呢?因为一个是从“云”(列表)下载的,另一个总是存储在本地(设置和个性化的东西)。因此需要两个数据库。

【问题讨论】:

    标签: c# wpf sqlite linq2db


    【解决方案1】:

    "configuration" - 它是配置文件中连接字符串的名称。在您的情况下,您有 2 个配置:"AddonManager""AddonDb"

    在代码中你可以这样做

    using ( var dbContex = new DataModels.AddonDbDB("AddonManager") )
    {
        // your queries
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      相关资源
      最近更新 更多