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 84693
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T21:58:17+00:00 2026-05-10T21:58:17+00:00

I am currently working on my first asp.net mvc application. I am trying to

  • 0

I am currently working on my first asp.net mvc application. I am trying to drink the kool-aid of all the the sample projects I see and trying to use the repository design pattern.

I have a interface called IUserRepository that looks like the following:

public interface IUserRepository {     IUser Add(IUser user);     IQueryable<IUser> Fetch();     IUser Update(IUser obj);     void Delete(IUser obj); } 

My IUser interface has a bunch of properties and properties for CreatedBy, CreatedDate, ModifiedBy and ModifiedDate.

My UserRepository looks like the following:

public class UserRepository : IUserRepository {     private GimliDataContext db = null;      public UserRepository()     {         db = new GimliDataContext();     }      public UserRepository(string connection)     {         db = new GimliDataContext(connection);     }      public IUser Add(IUser obj)     {         db.Users.InsertOnSubmit((User)obj);         db.SubmitChanges();         return obj;     }      public IQueryable<IUser> Fetch()     {         return db.Users.Select(b => b as IUser);     }      public IUser Update(IUser obj)     {         var user = db.Users.Where(u => u.UserId == obj.UserId).Single();         user.Name = obj.Name;         user.Password = obj.Password;         user.Email = obj.Email;         user.IsLocked = obj.IsLocked;         user.IsDisabled = obj.IsDisabled;         db.SubmitChanges();         return user;     }      public void Delete(IUser obj)     {         var user = db.Users.Where(u => u.UserId == obj.UserId).Single();         db.Users.DeleteOnSubmit(user);         db.SubmitChanges();     } } 

In my current web applications when my users login I stash my customer business principal on the current thread and when my business objects update I just user the Name property on the Identity property of the current business principal and it works great.

So what’s my question? Should I just do the same thing within the Add or Update methods of my repository OR would it be better to actually pass in an IUser reference to the current User and just grab the UserId from there?

Appreciate any input!

  • 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. 2026-05-10T21:58:18+00:00Added an answer on May 10, 2026 at 9:58 pm

    First I would suggest making your repository interface generic. Instead of your IUserRepository try this:

    public interface IRepository<T> {     T Add(T entity);     IQueryable<T> Fetch();     T Update(T entity);     void Delete(T entity); } 

    That way you can use this interface for any of your domain models.

    As far as your question is concerned (CreadedBy and ModifiedBy props), personally, that sounds like business logic and would be better suited inside of a Service class. But I would do it like you first said. Take the currently authenticated user’s user id and just put it in there, instead of passing in another IUser to get the ID of. But if it was in a service you would then be able to mock up a different service for unit testing, with out the hassle of having to actually log into the system (having the mocked service supply a mock IUser).

    I myself am a bit new to this so if there are any better suggestions I would also like to read about them.

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

Sidebar

Ask A Question

Stats

  • Questions 83k
  • Answers 83k
  • 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 From http://www.sorting-algorithms.com/insertion-sort: Although it is one of the elementary sorting… May 11, 2026 at 4:48 pm
  • Editorial Team
    Editorial Team added an answer You can easily accomplish this by writing an application which… May 11, 2026 at 4:48 pm
  • Editorial Team
    Editorial Team added an answer A namespace is a .Net thing, common in many industrial-strength… May 11, 2026 at 4:48 pm

Related Questions

I am looking to get on with contributors on an ASP.NET MVC Project. I
I'm basically trying to teach myself how to code and I want to follow
I have a site that I am currently working on in ASP.NET 2.0 using
I am working on an ASP.Net web application that must print dynamically created labels

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.