FluentNHibernate是否支持SQL Server Compact Edition 4.0?

时间:2011-05-02 00:02:57

标签: fluent-nhibernate

我知道他们支持SQL CE。我认为他们上升到3.5 ???我刚刚下载了CE 4.0,我想在我的项目中测试它,但是我无法在FluentNHibernate中对它进行配置......

如果支持4.0

我需要下载哪个版本,有人可以举例说明如何实现它吗?

1 个答案:

答案 0 :(得分:10)

FNH支持CE 4.0,尝试此配置:

var config = Fluently.Configure()
 .Database(MsSqlCeConfiguration.Standard.ConnectionString("Data Source=DatabaseFileName.sdf"))
 .Mappings(m =>
 {
     m.FluentMappings.AddFromAssembly(typeof(Entity).Assembly);
 })
 .BuildConfiguration();

应通过AddFromAssembly添加具有实体映射的程序集。 DatabaseFileName.sdf是数据库文件名的路径和文件名。路径可以是或绝对的或相对于应用程序的工作目录(Windows应用程序:System.AppDomain.CurrentDomain.BaseDirectory; Web应用程序:System.AppDomain.CurrentDomain.RelativeSearchPath)。

在FNH1.0,NH2.1和SQL Server CE 4.0上测试。

编辑: 数据库文件必须由数据库引擎创建:

using (var engine = new SqlCeEngine(connectionString))
{
    engine.CreateDatabase();
}

以下是CE 3.5的示例,但它也适用于CE 4.0:http://nhdatabasescopes.codeplex.com/SourceControl/changeset/view/f9e824a457e8#DatabaseScopes%2fMsSqlCeInFilePrivateScope.cs