gpt4 book ai didi

nhibernate - Fluent NHibernate 无法使用 SQLCE 创建 session 工厂

转载 作者:行者123 更新时间:2023-12-04 14:51:52 25 4
gpt4 key购买 nike

我正在尝试使用 Fluent NHibernate(任何 NHibernate 风格)的第一个项目。由于遇到以下异常,我一直无法超越创建 session 工厂对象的阶段:

InnerException: NHibernate.HibernateException
Message=The IDbCommand and IDbConnection implementation in the assembly System.Data.SqlServerCe could not be found. Ensure that the assembly System.Data.SqlServerCe is located in the application directory or in the Global Assembly Cache. If the assembly is in the GAC, use <qualifyAssembly/> element in the application configuration file to specify the full name of the assembly.
Source=NHibernate
StackTrace:
at NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName, String connectionTypeName, String commandTypeName)
at NHibernate.Driver.SqlServerCeDriver..ctor()
InnerException:

我正在使用最新的 FluentNHibernate 二进制文件。 VS 2010,在 Window 7 x64 上。我已将 System.Data.SqlServerCe 程序集设置为“Copy Local”,将项目的目标平台更改为 x86。

流畅的配置是:
var config  = Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard.ShowSql().ConnectionString(cnxString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SyncContract>());

if (!File.Exists(dbPath))
{
var engine = new System.Data.SqlServerCe.SqlCeEngine(cnxString);
engine.CreateDatabase();

config.ExposeConfiguration(c => new SchemaExport(c).Create(false, true));
}
return config;

注意:engine.CreateDatabase() 工作正常。

请问有什么帮助/想法吗?

最佳答案

好的,想通了。

Copy Local 不适用于我正在使用的测试项目,因此,libs 没有被复制到测试项目的 bin 文件夹中。添加所有库作为对测试项目的引用,并在它们上设置复制本地以使其工作。

关于nhibernate - Fluent NHibernate 无法使用 SQLCE 创建 session 工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com