Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 419459
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T18:46:46+00:00 2026-05-12T18:46:46+00:00

I wonder if you could help me with something I’ve been thinking about. Say

  • 0

I wonder if you could help me with something I’ve been thinking about. Say we have an Entity. Say the endtity has an ExtendedInfo object, which contains various properties which are not often used.

I’m wondering how best to structure this for FNH. The easiest thing to do I suppose would just set the UserInfo up as a Fluent Nhibernate ‘component’ of the User entity so that it is flat mapped as columns in the User table.

However, since it’s not used very often maybe it would be better to store this in a seperate table, and lazy load it when required? My best guess about how to do this would be using the .HasOne mapping, but I don’t know if this is the best approach.

Any thoughts on the best way to go here?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T18:46:47+00:00Added an answer on May 12, 2026 at 6:46 pm

    The design issue:

    Mapping this as a component is easier to handle, the database schema gets simpler and the handling of this class as well.

    When you map it many-to-one, it needs an id. When other types are also using this UserInfo, they need to store it to the same common table. Anyway you have to care that the same instance of UserInfo is not used by several owners. This is not possible with components, you can’t share UserInfo.

    The performance issue:

    When it is mapped as a component, it gets always loaded together with the owing type. The performance is slightly slower because it needs to read a little more data from the disk and it needs to send a little more data through the wire. Unless this UserInfo holds huge amount of data, or you intend to store millions of users, you wouldn’t probably recognize it.

    When you map it to a separate table, NH reads the UserInfo using a separate query. You say it is rare, but if you need the UserInfo of a large amount of users, this could significantly slow down data access. You need to optimize the query (fetch mode join), then NH will read it using an inner join. This is still slower as reading it from the same table.

    To cut a long story short:

    Mapping to another table (many-to-one) is quite a bit more work. It is only worth the effort if you can solve a known (!) performance issue when reading Users in a case you don’t need UserInfos.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 232k
  • Answers 232k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer An easy way would be to serialize them both with… May 13, 2026 at 5:36 am
  • Editorial Team
    Editorial Team added an answer Fiddler2 It will show all the HTTP requests leaving your… May 13, 2026 at 5:36 am
  • Editorial Team
    Editorial Team added an answer Use Live555 LGPL library or for fun, read the RFC… May 13, 2026 at 5:36 am

Related Questions

I wonder if you could help me with something I've been thinking about. Say
I'm known around the office as the backup guy. As a developer, I often
I usually prefer to code with a black background and white/coloured text but I
My objective is to get the answer from up to 6000 Urls in the
I've been learning C recently, and in one of my textbooks I found a

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.