Fluent NHibernate N+1 issue with complex objects

后端 未结 2 1281

I\'m having a problem with NHibernate querying the database way too many times. I just realized it likely relates to the n+1 problem but I can\'t figure out how to change my map

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-20 09:10

    The way to go is to use batch fetching. Read more about it here:

    How to Eager Load Associations without duplication in NHibernate?

    On every entity mapping apply BatchSize (for many-to-one relation - avoiding 1 + N)

    public ReportMap()
    {
       Table(...)
       BatchSize(25);
       ...
    

    And on every collection (solves issue with one-to-many 1 + N)

    HasMany(x => x.Reports)
          .KeyColumn("StackTraceId")
          .BatchSize(25)
          ...
    

提交回复
热议问题