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

  • SEARCH
  • Home
  • 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 6169383
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T22:50:55+00:00 2026-05-23T22:50:55+00:00

Hopefully I can articulate my question well enough to get some clear and usable

  • 0

Hopefully I can articulate my question well enough to get some clear and usable feedback here. I have reports (like paper reports) in my .NET application that have data bound to them. Typically the reports are a combination of many data elements across several busniess entites that may not all relate through an Inheritance hierarcy, etc. This makes it difficult to get all the needed data placed together to bind to the report.

So what I have done before are make ‘Report’ classes with data elements specific to supporting the reports they are bound to, and on the back end might be tied to specially created Stored Procedures that bring this data back (maybe several joins across many tables to get the right data needed). So if I was to make an analogy to the database world, I am essentially ‘denormailizing’ the data structure to get all of this data into a single class to make it easy to bind to the report.

However on the hard line OOP concepts and architecture design, one could say that a report is just another ‘thing’ to bind data to, and its class should not be designed just to suit the needs of data binding. In this thought process, I would actually need to make my class design be able to create the relationships needed to get all of the data together properly to still be bound, but not create any special ‘Report’ classes. I find this difficult to do sometimes. It is much easier to create these relationships in the back end stored procedures and then just output the resultset to be almost immediately bound to the report.

So what is the right way to solve this? If I create these specialized report classes with really no behavior, am I introducing an anti-pattern like the Anemic Domain Model?

I could use some feedback, and please speak up if my question and scenarios did not make sense. 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-23T22:50:56+00:00Added an answer on May 23, 2026 at 10:50 pm

    There is nothing wrong with having your domain model (simply – data used in your business logic) shaped differently than the data in your database. In other words, you don’t have to have one to one correlations.

    With this in mind, there is nothing inherently wrong with creating report objects that act like property bags of data sets to render different parts of a report. In fact, since the reports are read only, it is often preferable.

    Now, you can set things up so the business logics are more aligned with the database rows and create a view model for the report. This may, or may not, lead to greater reusability. Determination of where to create the shapes that the report binds to is largely dependent on whether or not the datasets make sense as bits you can consume for some business function. If they are truly related to the report only, then consider creating the report classes once and passing them through the business tier.

    Hope this makes sense, as I don’t think it was my best answer post lately. 😉

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

Sidebar

Related Questions

This is hard to explain but hopefully I can articulate my problem well enough.
this is my first question here so I hope I can articulate it well
Im new to programming and hopefully can get some guidance, I searched for clues
Hopefully someone can help here, it's incredibly frustrating! I have a couple of iOS
Quick question hopefully someone can help out here. I'm trying to copy and paste
Sorry for the unhelpful title, but hopefully I can explain this well enough. Lets
Hopefully I can articulate this well: I'm porting an application I made years ago
Hopefully someone can explain some behavior to me. I have a JSF page with
Hopefully I can make this clear. I have a DataGrid <DataGrid Grid.Row=6 Grid.Column=1 AutoGenerateColumns=False
Hopefully I can explain this well enough, but please let me know if more

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.