尝试将 Nhibernate 与 Mono 和 SQLite 一起使用 - 找不到 System.Data.SQLite

2024-06-26

我用 mono (C#) 编写了一个简单的应用程序,它使用 NHibernate 和 MYSQL - 现在我想将其移植到 SQLite。

我希望我可以简单地更改 hibernate.cfg.xml 并将其指向不同的数据库。这是我修改后的 hibernate.cfg.xml:

    <?xml version="1.0" encoding="utf-8" ?>

    <hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
        <session-factory name="NHibernate.Test">
            <property name="connection.driver_class">NHibernate.Driver.SQLite20Driver</property>
            <property name="connection.connection_string">
                Data Source=nhibernate_test.db;Version=3
            </property>
            <property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
            <property name="query.substitutions">true=1;false=0</property>
            <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
        </session-factory>

</hibernate-configuration> 

问题是我收到一个错误,大意是找不到 System.Data.SQLite。这并不令我感到惊讶,因为据我了解,在 Mono 中我们应该使用 Mono.Data.SQLite。

问题是(假设我正确理解了问题)我不知道如何告诉 NHibernate 使用 Mono.Data.SQLite 而不是 System.Data.SQLite。

这一切都是在 Linux 上完成的——如果这有什么区别的话。

有人知道如何继续吗?


您需要让 nHibernate 了解 Mono.Data.SQLite 程序集。将其添加到配置中:

<add key="connection.driver_class" value="Name.Space.MonoSqliteDriver, AssemblyName" />

而且你还需要一个简单的MonoSQLiteDriver class:

public class MonoSqliteDriver : NHibernate.Driver.ReflectionBasedDriver  
{  
    public MonoSqliteDriver() :   
        base("Mono.Data.Sqlite",  
        "Mono.Data.Sqlite.SqliteConnection",  
        "Mono.Data.Sqlite.SqliteCommand")  
    {  
    }  
    public override bool UseNamedPrefixInParameter {  
        get {  
            return true;  
        }  
    }  
    public override bool UseNamedPrefixInSql {  
        get {  
            return true;  
        }  
    }  
    public override string NamedPrefix {  
        get {  
            return "@";  
        }  
    }  
    public override bool SupportsMultipleOpenReaders {  
        get {  
            return false;  
        }  
    }  
}  

(代码取自http://intellect.dk/post/Why-I-love-frameworks-with-lots-of-extension-points.aspx http://intellect.dk/post/Why-I-love-frameworks-with-lots-of-extension-points.aspx )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试将 Nhibernate 与 Mono 和 SQLite 一起使用 - 找不到 System.Data.SQLite 的相关文章

  • 如何重写实体数据模型创建的对象上的 Equals?

    我创建了一个实体数据模型 它从 SQLite 数据库中提取记录 其中一个表是 People 我想重写 person Equals 方法 但我不确定去哪里进行这样的更改 因为 Person 对象是自动生成的 我什至看不到该 autogen 代
  • 如何使用 LINQ ForEach 更改 List

    我有一个List
  • MVC。网络错误:初始化字符串的格式不符合从索引 0 开始的规范

    我的连接字符串是
  • 您使用什么工具和技术来查找死代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您使用哪些工具和技术来查找 NET 中的死代码 过去 我用 Obsolete 属性修饰方法 传递 tr
  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • 外部剃刀视图看不到外部模型

    我对外部剃刀视图有疑问 在我的项目中 我有主 mvc Web 程序集和动态加载的外部类库程序集 来自 DB 及其自己的控制器 视图和模型 这些程序集在运行时不会直接引用和加载 我能够通过为控制器创建自定义控制器工厂 为视图创建自定义虚拟路径
  • VS2010中VSHost.exe不断启动

    我正在 VS2010 中使用一个包含大量项目的解决方案 但它不断变得无响应 我注意到的一件事可能是一条线索 尽管我尚未开始任何调试 但 MyApplicationName vshost exe 不断出现在进程列表中 也许每当构建发生时它就会
  • 使用私有构造函数的 C# 单元测试类?

    好吧 我刚刚收到一个作业 我必须对具有私有构造函数的类执行单元测试 现在 当所有方法也都是非静态时 我该如何在不初始化类的情况下进行单元测试 有什么方法可以对具有私有构造函数的类进行单元测试 无需反射 如果您无法将类公开 您仍然可以通过以下
  • ASP.NET 中的 thread.sleep

    我正在为我的网站模拟彗星实时馈送协议 因此在我的控制器中我添加 while nothing new before timeout Thread Sleep 1000 但我注意到添加此功能后整个网站变慢了 调试后我得出结论 当我打电话时Thr
  • 第三方引用的 dll 未被复制来构建

    我有一个第三方 net dll 被我的 dll 类库项目 A 引用和使用 我的控制台应用程序项目 B 引用项目 A 我的问题是第三方 dll 没有被复制到控制台应用程序项目 B 的构建中 这里有什么问题呢 我的 dll 类库中引用的第三方
  • 如何在 C++ 中初始化嵌套类的构造函数

    我在初始化嵌套类构造函数时遇到问题 这是我的代码 include
  • 嘲笑会员用户

    我目前正在开发一个 asp net mvc 2 应用程序 它使用默认的 SqlMembershipProvider 进行身份验证 我已经实现了一个控制器方法 通过调用读取当前用户的 ProviderUserKeyMembership Get
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • 简单的喷射器将具体类型与生活方式结合起来

    我正在寻找一种可以使用指定的生活方式注册具体类型的方法 基本上如下所示 public void SomeFunction Type concrete Lifestyle lifestyle gt container Register con
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 预览MouseMove 与 MouseMove

    我有相当多的 XAML 经验 但最近我注意到我的大多数同事都使用预览鼠标移动代替鼠标移动事件 我一直用鼠标移动它对我很有帮助 但我忍不住问我什么时候应该使用预览鼠标移动什么时候鼠标移动 有什么区别 各自有什么优点和缺点等等 PreviewM
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似
  • 有关 Endian 性和 .Net 的详细信息?

    我有几个关于字节顺序的问题 这些问题足够相关 我保证将它们作为一个问题提出 1 字节顺序是由 Net还是由硬件决定的 2 如果是由硬件决定的 我怎样才能在C 中找出硬件的字节序 3 字节序是否影响二进制交互 例如 OR AND OR 或移位

随机推荐

  • 执行计划中是否考虑了功能?

    当查询在 SELECT 或 WHERE 子句中包含 PL SQL 函数 用户定义函数 时 如何生成执行计划 它是否也计算这些函数的成本并将其显示在执行计划中 或者这些函数只是被忽略 在此先感谢您的帮助 用户生成的函数在 SELECT 或 W
  • “CPU生成逻辑地址空间”是什么意思?

    据我从书中读到 纠正我 我错了 编译器将编译后的代码放入存储后 CPU创建逻辑地址 这些逻辑地址通过MMU 内存管理单元 映射到物理内存 而且我知道CPU不能直接访问物理内存以外的任何东西 那么CPU首先是如何为进程产生逻辑地址的呢 听起来
  • python 不被识别为内部或外部命令[重复]

    这个问题在这里已经有答案了 这是一个非常烦人的问题 我在网上寻找解决方案 但我发现的只是有关更改 PATH 变量的提示 当然 我也这样做了 我的Python安装目录是C Python27 这是 32 位版本 每当我在命令提示符中键入 pyt
  • 如何在 Swift 中使用具有相同协议变量的多个协议?

    我很快就实现了两个协议 GADCustomEventInterstitial and GADCustomEventBanner 这两个协议都需要一个名为delegate delegate每个协议中的类型不同 因此会产生冲突 class Ch
  • 重新排序单元格后重新加载自定义 UITableViewCell

    I have UITableView它使用自定义UITableViewCells 单元格可以具有三种类型的背景图像之一 在每个单元格的 backgroundView image属性 顶部 中间或底部 顶部和底部图像用于第一个和最后一个单元格
  • go install - 我需要手动更新我的路径吗?

    我对 Go 的最新最佳实践是什么有点困惑 在 macos 上安装最新的 1 17 Go 没有 GOPATH 环境变量 使用 go mod 我看到我的路径中有以下内容 usr local go bin 当我跑步时go install
  • MIME 多部分流意外结束。 MIME 多部分消息不完整。 Web API 和超级代理

    我在将文件从客户端上传到 Web api 时遇到问题 我收到此错误 MIME 多部分流意外结束 MIME 多部分消息不完整 当我尝试读取多部分内容时在控制器中 我正在使用 superagent 构建一个 React JS 客户端 这是我的请
  • 如何更新verdaccio的离线注册表?

    我安装了verdaccio in windows 8 os并且运行良好 当我尝试更新时我的问题开始了npm cache 更新版本后package json文件 我使用npm install registry http localhost 4
  • Android:如何让onTouch像onClick一样工作?

    我用过这个教程http mobiforge com developing story using google maps android http mobiforge com developing story using google ma
  • Powershell:使用变量引用脚本块中 $_ 的属性

    var id 1 name abc age 1 id 2 name def age 2 properties ID Name Age format foreach p in properties format label p Express
  • C# 组合框使用文本设置值

    我有一个组合框farmRegion我这样填写 private void fillRegionData DataTable dt new DataTable dt Columns Add ID typeof int dt Columns Ad
  • Bootstrap 3 列列排序

    Bootstrap 3 2 1 排序 三列排序问题 尝试在小屏幕上订购三列 如下图所示 In medium screen it should be like above image but ordering is not working i
  • 管理团队中 x86 和 x64 工作站之间的参考路径

    我想知道当不是每个人都可以立即升级到 x64 操作系统时 NET 团队如何处理程序集引用路径 现在的关键问题是 x64 版本的 Windows 会将 32 位安装植入 C Program Files x86 而不是常规的 C Program
  • 使用apktool反编译apk文件

    我尝试使用 apktool 提取 apk 文件 我按照下面提到的步骤操作 有没有办法从APK文件中获取源代码 https stackoverflow com questions 3593420 android getting source
  • POST JSON 对象到 aws lambda

    如何通过 aws API 网关将 json 对象发布到 aws lambda 函数 p s 我的目标是用 python 编写 lambda 函数 然后将其发布到 aws SQS 提前致谢 我想到了 现在 我有一个 API 网关接受客户端发布
  • 如何使文件自我更新(Native C++)

    我将 Microsoft Visual Studio 2008 与 Windows 目标部署结合使用 我如何使文件 自我更新 我已经完成了 通过网络传输 部分 但是如何使可执行文件重写自身 基本上 我想为还包含自动更新程序的目录编写一个自动
  • 如何在 Ember JS 路由中顺序加载多个模型

    在 Ember JS 中顺序加载多个模型的最佳方法是什么 e g App ProductRoute Ember Route extend model function params first call this store find Pr
  • Genymotion 无法识别 SD 卡上的图像

    所以我一直在玩 Genymotion 喜欢使用它 但一直无法弄清楚如何将图像导入 Android Gallery 应用程序 因此我可以测试另一个应用程序 当前在 Galaxy Nexus 上运行 Android 4 3 尝试通过 adb 和
  • 如何使用 C# 和 OleDbConnection 读取 .xlsx 和 .xls 文件?

    以前我使用的是ExcelPackage从 xlsx 文件中读取数据 效果很好 但后来我意识到ExcelPackage不适用于旧的 xls 格式 所以我升级到使用OleDbConnection代替ExcelPackage像这样 var fil
  • 尝试将 Nhibernate 与 Mono 和 SQLite 一起使用 - 找不到 System.Data.SQLite

    我用 mono C 编写了一个简单的应用程序 它使用 NHibernate 和 MYSQL 现在我想将其移植到 SQLite 我希望我可以简单地更改 hibernate cfg xml 并将其指向不同的数据库 这是我修改后的 hiberna