标签: fluent-nhibernate

NHibernate还是流畅的NHibernate?

我有兴趣听取别人的意见,看看他们会选择哪一个(没有'neithers' please;),以及为什么.

使用流利的缺点是什么?(版本依赖可能?)优点,缺点,经验等

alt.net nhibernate orm fluent-nhibernate

36
推荐指数
3
解决办法
9755
查看次数

Fluent NHibernate - 仅在不存在时创建数据库模式

我有一个应用程序,我使用Fluent Nhibernate来创建我的数据库.到目前为止,我每次都在重新创建数据库模式.执行此操作的代码是:

public NhibernateSessionFactory(IPersistenceConfigurer config)
{
    _sessionFactory = Fluently.Configure().
        Database(config).
        Mappings(m => m.FluentMappings.AddFromAssemblyOf<MappingsPersistenceModel>()).
        ExposeConfiguration(BuildSchema).
        BuildSessionFactory();
}

private static void BuildSchema(Configuration config)
{
    // if (DbExists(config))
    //    return; 

    new SchemaExport(config).Create(false, true);
}
Run Code Online (Sandbox Code Playgroud)

注意" if (DbExists(config))".这就是我想做的.我只想在它实际上不存在的情况下创建模式.在下一步 - 如果它不是最新的,我想更新它.

我该如何实现这一目标?我期待一个config.DatabaseExists(),但我看不到这样的事情.我看到了hacky解决方案的一些可能性,但是处理这个问题的典型推荐方法是什么?

.net database nhibernate fluent-nhibernate c#-4.0

36
推荐指数
2
解决办法
2万
查看次数

我在哪里可以找到流利的NHibernate教程?

我用Google搜索并环顾四周有没有人知道任何隐藏的宝石,这不是谷歌搜索的前几页....

fluent-nhibernate

35
推荐指数
4
解决办法
2万
查看次数

如何在Fluent NHibernate ClassMap类中指定表名?

我是NHibernate的新手,并尝试使用Fluent进行映射.我的实体类名称与必须映射到的数据库表名称不同.我使用来源于映射类ClassMap<>,但我不能指定表名:属性TableNameClassMap是只读的.

谢谢你的帮助.

fluent-nhibernate

34
推荐指数
3
解决办法
1万
查看次数

如何使用MySQL配置流畅的nHibernate

我正在尝试配置nHibernate以使用MySql数据库.我找到了mssql和sqlite的例子但没有找到mysql的例子.那么,我该如何更改它以便它使用mysql:

Fluently.Configure().Database(
        MsSqlConfiguration.MsSql2005.ConnectionString(
            c => c.FromConnectionStringWithKey("ConnectionString")
        )
    )
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<MyAutofacModule>())
    .BuildSessionFactory())
Run Code Online (Sandbox Code Playgroud)

c# mysql nhibernate fluent-nhibernate autofac

32
推荐指数
1
解决办法
2万
查看次数

使用流利的nhibernate映射枚举

我正在关注http://wiki.fluentnhibernate.org/Getting_started教程,用Fluent NHibernate创建我的第一个NHibernate项目

我有2张桌子

1)帐户与字段

Id
AccountHolderName
AccountTypeId
Run Code Online (Sandbox Code Playgroud)

2)带有字段的AccountType

Id
AccountTypeName
Run Code Online (Sandbox Code Playgroud)

现在,帐户类型可以是Savings或Current所以表AccountTypes存储2行1 - Savings 2 - Current

对于AccoutType表,我已经定义了枚举

public enum AccountType {
    Savings=1,
    Current=2
}
Run Code Online (Sandbox Code Playgroud)

对于Account表,我定义了实体类

public class Account {
    public virtual int Id {get; private set;}
    public virtual string AccountHolderName {get; set;}
    public virtual string AccountType {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

流畅的nhibernate映射是:

public AgencyMap() {
    Id(o => o.Id);
    Map(o => o.AccountHolderName);
    Map(o => o.AccountType);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行解决方案,它提供了一个异常 - 的InnerException = {"(XmlDocument的)(2,4):XML验证错误:元素'类’在命名空间'瓮:NHibernate的映射-2.2’具有不完整的内容.期望的可能元素列表:'命名空间'中的元,子选择,缓存,同步,注释,tuplizer,id,composite-id'...

我想那是因为我还没有为AccountType指定任何映射.

问题是:

  1. 如何使用AccountType枚举而不是AccountType类?
  2. 也许我走错了路.有一个更好的方法吗?

谢谢!

.net enums fluent-nhibernate

32
推荐指数
2
解决办法
2万
查看次数

使用NuGet安装NHibernate 3.2

我是NHibernate的新手,并且一直在尝试使用NuGet来启动和运行它,Fluent NHibernate和NHProf.阅读本文(http://gurustop.net/blog/2011/03/13/nhibernate-3-1-0-on-nuget-important-details)后,似乎不应该直接安装v3.1,但是,v3.2似乎没有这样的警告.

在使用NuGet成功安装NHibernate 3.2和NHProf之后,我无法安装Fluent NHibernate,因为它说"已经引用了更新版本的NHibernate".

此外,当我运行我的应用程序时,我收到以下错误"无法加载文件或程序集'NHibernate.ByteCode.Castle'或其依赖项之一".以下链接(无法在NHibernate中加载文件或程序集)建议安装一些额外的程序集,这是我希望首先使用NuGet避免的.

在这一点上,由于NuGet上的软件包看起来不兼容,因此按照NHForge上的步骤进行操作会更容易吗?

nhibernate fluent-nhibernate nuget

32
推荐指数
3
解决办法
1万
查看次数

linq查询问题

我正在尝试使用linq到NHibernate(使用Fluent NHibernate)但是我遇到了linq查询的问题.每次我尝试执行它时,我收到此消息:

" 方法'get_IsReadOnlyInitialized’型'NHibernate.Linq.Util.DetachedCriteriaAdapter’自组装'NHibernate.Linq,版本= 1.1.0.1001,文化=中立,公钥=空’没有实现. "

有人知道如何解决这个问题吗?我尝试使用模型上下文的这个页面的解决方案,但它没有帮助.

这是代码:

using(var session = NHibernateHelper.OpenSession())   
{   
var informations = (from i in  session<Information>() where i.Text=="some text" select  i).ToList();   
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,如果我不使用where部分,但如果我使用它我得到这个错误.我认为问题出在NHibernate.Linq.dll中

linq nhibernate fluent-nhibernate linq-to-nhibernate

30
推荐指数
1
解决办法
4176
查看次数

FluentNHibernate和NHibernate的"按代码映射"之间的区别

我来自ORM工具的实体框架和LLBL背景.

我被要求建立一个基于NHibernate的新系统.我从来没有这样做过,所以我带着新鲜的眼睛来看它.

使用Fluent NHibernate进行映射和NHibernate中的"按代码映射"有什么区别?有偏好吗?

nhibernate nhibernate-mapping fluent-nhibernate fluent-nhibernate-mapping

30
推荐指数
2
解决办法
1万
查看次数

流程NHibernate的类映射生成器

是否有适用于Fluent NHibernate的类映射生成器?我需要像db2hbm这样的东西,但我希望它能生成Fluent Class Maps而不是xml映射.

我知道AutoMapping for Fluent但这不是我想要的.我希望能够从数据库中的表生成类映射文件,并将它们推送到我的src存储库.

database nhibernate generator fluent-nhibernate

29
推荐指数
1
解决办法
1万
查看次数