如何在 ASP.NET 上使用BLToolkit连接SqliteDB



嗨,我在连接到我的sqlitedb时遇到错误。

我使用 Firefox Sqlite 插件创建我的 sqlitedb。

MyConn : (webconfig)

    <connectionStrings>
             <add name="TARKMANCAS_CONNECTION" connectionString="Data  Source=C:/TARKMANCAS_DB.sqlite;"/>
    </connectionStrings>

我的班级:

public TarkBaseDb()
        : base("TARKMANCAS_CONNECTION")
    {
    }
    // start
    //
    public Table<TarkBaseSchema.KadroGrubuCls> KadroGrubu { get { return GetTable<TarkBaseSchema.KadroGrubuCls>(); } }

TarkBaseSchema:

    [TableName("EGITIM_KADROSU_GRUBU_TAB")]
    public class KadroGrubuCls
    {
        private TarkBaseDb db = new TarkBaseDb();
        #region Contructors
        public KadroGrubuCls()
        {
            using (db)
            {
                var qry = from x in db.KadroGrubu
                          select x;
                foreach (var rec_ in qry)
                {
                    KadroGrubuId = rec_.KadroGrubuId;
                    KadroGrubu = rec_.KadroGrubu;
                }
            }
        }
        #endregion
        #region Data Items
        [MapField("KADRO_GRUBU_ID")]
        [PrimaryKey, NotNull]
        public int KadroGrubuId { get; set; }
        [MapField("KADRO_GRUBU")]
        public string KadroGrubu { get; set; }
        #endregion
        #region Relations
        #endregion
        #region Public Methods
        public KadroGrubuCls Get()
        {
            return (new KadroGrubuCls());
        }
        #endregion
    }

并尝试拨打电话:

TarkBaseSchema.KadroGrubuCls _tarkKadro = _tarkKadro.Get();

我收到错误:

  A network-related or instance-specific error occurred while establishing a connection to 
SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. 
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

错误消息显示它正在尝试连接到 SQL Server,而不是 SQLite。

更改连接字符串以选择正确的驱动程序。
("数据"和"源"之间有两个空格。

我认为这对我来说是一个答案;

Linq2db

最好的解决方案 - 使用 linq2db


BLToolkit

如果您不想使用 linq2db,请按照以下步骤使用 bltookit 连接到 sqlite db。

安装库

安装 nuget 包(或手动下载)

PM> Install-Package BLToolkit.SQLite
PM> Install-Package System.Data.SQLite.Core

修改 web.config/app.config

<configuration>
  <!-- 1 : Add providers to BLToolkit -->
  <bltoolkit>
    <dataProviders>
      <add type="BLToolkit.Data.DataProvider.SQLiteDataProvider, BLToolkit.Data.DataProvider.SQLite.4" />
    </dataProviders>
  </bltoolkit>
  <!-- 2 : Add connection string with the appropriate provider field -->
  <appSettings>
    <add key="ConnectionString.SQLite.localdb" value="Data Source=C:/TARKMANCAS_DB.sqlite;Version=3;Pooling=True;Max Pool Size=10;" />
  </appSettings>
</configuration>

可以在此处找到有关连接字符串的详细信息:http://www.connectionstrings.com/sqlite/

创建数据库管理器的实例

您已经使用了MyClass,因此它应如下所示:

public class TarkBaseDb: DbManager
{
  public TarkBaseDb()
          : base("SQLite", "TARKMANCAS")
  {
      // definition of your tables
  }
}

相关内容

  • 没有找到相关文章

最新更新