标签: nhibernate

如何使用NHibernate持久化枚举

有没有办法使用NHibernate将枚举持久保存到数据库?这是一个包含代码和枚举中每个值的名称的表.

我想保留没有实体的枚举,但仍然有一个从所有其他引用实体到枚举表的外键(枚举的int表示).

nhibernate enums persistence foreign-keys

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

禁用NHibernate日志记录

我有一个空的 app.config文件,但我仍然得到NHibernate调试日志

NHibernate: SELECT this_.LogID as LogID71_0_, this_.Level as Level71_0_, this_.Message as Message71_0_, this_.EventTime as EventTime71_0_, this_.Component as ...
Run Code Online (Sandbox Code Playgroud)

我尝试添加一个带有ERROR日志级别的log4net配置,但没有用.如何停止这些日志消息?

我很困惑的是,如果我有一个空的app.config,为什么这些出现在第一位.对我来说没有意义,我必须配置它不打印这些消息 - 默认应该关闭.可能是我的代码以某种方式以编程方式设置它们吗?我应该寻找什么?

nhibernate logging log4net

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

查询和(x像'a'或y喜欢'a')

嗨当我使用查询转换API时,是否有任何优雅的方式组合'喜欢'和'或'?对于'喜欢'有类似的东西:

 query.WhereRestrictionOn(x=>x.Code).IsLike(codePart)
Run Code Online (Sandbox Code Playgroud)

对于'或'我可以做类似的事情:

query.Where( x=>x.Code == codePart || x.Description== codePart)
Run Code Online (Sandbox Code Playgroud)

但是如何创建这样的查询:

select*from n,其中代码如'%abc%'或描述如'%abc%'

nhibernate queryover

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

nHibernate,不存在具有给定标识符的行

我有一个映射的方式.

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Model.Entities" schema="etl" assembly="Model" default-lazy="false">
  <class name="Model.Entities.DataField, Model" table="mdm_field">
    <id name="FieldId" column="field_id" type="int">
      <generator class="native" />
    </id>
    <many-to-one name="KeyField" class="Model.Entities.Key, Model" column="field_id" />
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

现在在数据库中,mdm_field表中的field_id有时具有相关key_field表中不存在的值,因此它基本上是破坏了引用完整性.因为当我加载实体时,我得到一个错误"没有给定标识符的行存在".如何配置映射以适应这种情况,以便在这种情况下不会死亡.

c# nhibernate nhibernate-mapping

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

如何配置Fluent NHibernate将查询输出到Trace或Debug而不是Console?

如何配置Fluent NHibernate将查询输出到Trace或Debug而不是Console?我正在使用,MsSqlConfiguration.MsSql2008.ShowSql()但它没有参数,我在谷歌上找不到任何东西.

.net c# asp.net nhibernate fluent-nhibernate

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

使用MiniProfiler的数据库分析与NHibernate

使用MiniProfiler对NHibernate进行数据库分析的最简单方法是什么?为了让探查器工作,我需要包装DbConnectionNHibernate在a中使用的ProfiledDbConnection.

我不太熟悉NHibernate的内部,所以我不知道所有的可扩展性点在哪里.(我注意到NHibernate ISession有一个Connection属性,但它是只读的.)

nhibernate mvc-mini-profiler

49
推荐指数
2
解决办法
6674
查看次数

如何使用nHibernate和QueryOver API获得明显的结果?

我有这个Repository方法

    public IList<Message> ListMessagesBy(string text, IList<Tag> tags, int pageIndex, out int count, out int pageSize)
    {
        pageSize = 10;
        var likeString = string.Format("%{0}%", text);
        var query = session.QueryOver<Message>()
            .Where(Restrictions.On<Message>(m => m.Text).IsLike(likeString) || 
            Restrictions.On<Message>(m => m.Fullname).IsLike(likeString));

        if (tags.Count > 0)
        {
            var tagIds = tags.Select(t => t.Id).ToList();
            query
                .JoinQueryOver<Tag>(m => m.Tags)
                .WhereRestrictionOn(t => t.Id).IsInG(tagIds);
        }            

        count = 0;
        if(pageIndex < 0)
        {
            count = query.ToRowCountQuery().FutureValue<int>().Value;
            pageIndex = 0;
        }
        return query.OrderBy(m => m.Created).Desc.Skip(pageIndex * pageSize).Take(pageSize).List();
    }
Run Code Online (Sandbox Code Playgroud)

您提供自由文本搜索字符串和标签列表.问题是,如果邮件有多个标签,则会列出重复的时间.我想要一个基于Message实体的独特结果.我看了看

Projections.Distinct
Run Code Online (Sandbox Code Playgroud)

但它需要一个属性列表来处理不同的问题.这条消息是我的实体根,大部分是在不提供所有实体属性的情况下获得此行为的方法吗?

提前谢谢,安德斯

c# nhibernate queryover

48
推荐指数
3
解决办法
4万
查看次数

使用带有WHERE IN的QueryOver的NHibernate

我会像这样创建一个QueryOver

SELECT *
FROM Table
WHERE Field IN (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

我尝试过Contains方法,但我遇到了异常

"System.Exception:无法识别的方法调用:System.String:Boolean包含(System.String)"

在这里我的代码

var qOver = _HibSession.QueryOver<MyModel>(() => baseModel)                                                                
  .JoinAlias(() => baseModel.Submodels, () => subModels)
  .Where(() => subModels.ID.Contains(IDsSubModels))
  .List<MyModel>();
Run Code Online (Sandbox Code Playgroud)

c# nhibernate where-in queryover

47
推荐指数
3
解决办法
5万
查看次数

在NHibernate与实体框架之间做出决定?

NHibernate和Entity Framework 4.0的主要优点和缺点是什么?

(在标记我的问题时,我注意到了比EF更多的NHibernate标签.NMibernate更受欢迎吗?)

nhibernate orm entity-framework

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

哪种.NET数据类型最适合在NHibernate中映射NUMBER Oracle数据类型?

我已经看到了一些decimal在NHibernate项目中使用的示例,用于映射到Oracle中的整数列.现在,我使用int,并long在我的计划.

decimalover int/ long?有什么好处?它表现更好吗?

c# oracle nhibernate nhibernate-mapping oracle10g

45
推荐指数
3
解决办法
7万
查看次数