Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
Hi,
 
Could somebody help me please, I'm not understanding the repository pattern very well!
 
I have a model whereby I have a Person entity with a one-to-one link with a PersonProfile Entity.
 
So I have my two entities:
public class person
{
    public int PersonId {get;set;}
    public string Name {get;set;}
    ....
    public int PersonProfileId {get;set;}
    public virtual PersonProfile PersonProfile {get;set;}
}
 
public class PersonProfile
{
    public int PersonProfileId {get;set;}
    ....
}
 
I have a repository for Person and a service for creating the person.
Now I need to make sure that whenever a Person is create a Personprofile is also created and linked (with blank data in it). The idea being prevent me having to check further down the line that the records exist before I try to update or display them.
 
But how would be best to do it? Create a personprofile repository and send through a reference when I call the create person service? Do it from my controller page and make sure it's all hooked up before I pass the object to the person create service?
 
i.e.
 
personprofile profile = new person profile();
personprofileservice.create(profile);
personprofileservice.save();
 
person person = new person();
person.personprofile = profile;
personservice.create(person);
personservcice.save();
 
Or is there a better way I'm not just not understandng?
 
Thanks in advance.
Posted 16-Apr-12 5:51am
Comments
Sastry_kunapuli at 16-Apr-12 14:33pm
   
Repository pattern is used to save all the actions related to a particular class here person for example.So if you are actually trying to say Person.CreatePerson(),it means you are not creating a new person,but you are telling the system that a new person profile has come in.So i guess the PersonProfile is not different from person.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 Shai Vashdi 1,010
1 OriginalGriff 447
2 Manas Bhardwaj 378
3 Tadit Dash 330
4 Damith Weerasinghe 320
0 Sergey Alexandrovich Kryukov 9,625
1 OriginalGriff 6,065
2 Peter Leow 4,500
3 Maciej Los 3,565
4 Abhinav S 3,513


Advertise | Privacy | Mobile
Web02 | 2.8.140415.2 | Last Updated 16 Apr 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Use
Layout: fixed | fluid