Beste ontwikkelaars,
Ik ben in een nieuw project bezig om gebruik te maken van het niet Entity Framework van .NET 4.0. Ik moet zeggen dat ik er zeer van onder de indruk ben, veruit de beste en gemakkelijkste manier om een DAL op te bouwen.
Nu maak ik gebruik van DTO's om mijn server data naar de clients te krijgen (ter optimalisatie). Ik wil graag gebruik maken van een repository pattern om mijn code overzichtelijk te houden en om dubbele code tegen te gaan. Opzich is dit geen probleem alleen heb ik zeer veel entiteiten en gedurende het ontwikkelen krijg ik het gevoel dat ik heel veel werk aan het doen ben wat niet nodig is.
Ik ben opzoek naar een soort van generale repository waarmee ik CRUD operaties kan uitvoeren, zodat ik deze niet voor iedere entiteit in een eigen repository hoef te defineren.
Ik zal even verduidelijken wat ik bedoel met een voorbeeld.
Ik heb een entiteit: Customer
in mijn dal krijg ik dan: RepositoryCustomer
vervolgens zal die repository altijd de volgende methoden bevatten:
Dit is allemaal heel basic maar iedere entity heeft minimaal deze basic functionaliteit nodig. Zoals je ziet is het enige wat voor een andere entiteit anders zal zijn het entiteit type. Het moet toch mogelijk zijn om deze functies zo te defineren zodat je ze kunt gebruiken voor iedere entiteit binnen mijn project..?
Alle suggesties zijn meer dan welkom
Ik ben in een nieuw project bezig om gebruik te maken van het niet Entity Framework van .NET 4.0. Ik moet zeggen dat ik er zeer van onder de indruk ben, veruit de beste en gemakkelijkste manier om een DAL op te bouwen.
Nu maak ik gebruik van DTO's om mijn server data naar de clients te krijgen (ter optimalisatie). Ik wil graag gebruik maken van een repository pattern om mijn code overzichtelijk te houden en om dubbele code tegen te gaan. Opzich is dit geen probleem alleen heb ik zeer veel entiteiten en gedurende het ontwikkelen krijg ik het gevoel dat ik heel veel werk aan het doen ben wat niet nodig is.
Ik ben opzoek naar een soort van generale repository waarmee ik CRUD operaties kan uitvoeren, zodat ik deze niet voor iedere entiteit in een eigen repository hoef te defineren.
Ik zal even verduidelijken wat ik bedoel met een voorbeeld.
Ik heb een entiteit: Customer
in mijn dal krijg ik dan: RepositoryCustomer
vervolgens zal die repository altijd de volgende methoden bevatten:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public int CreateCustomer(Customer customer) { DataContext.CustomerSet.AddObject(customer); DataContext.SaveChanges(); return customer.Id; } public Customer ReadById(int Id) { return DataContext.CustomerSet.Where(x => x.Id == Id).FirstOrDefault(); } public void UpdateCustomer(Customer customer) { DataContext.CustomerSet.ApplyCurrentValues(customer); DataContext.SaveChanges(); } public void DeleteCustomer(int Id) { DataContext.CustomerSet.DeleteObject(DataContext.CustomerSet.Where(x => x.Id == Id).FirstOrDeafult()); } |
Dit is allemaal heel basic maar iedere entity heeft minimaal deze basic functionaliteit nodig. Zoals je ziet is het enige wat voor een andere entiteit anders zal zijn het entiteit type. Het moet toch mogelijk zijn om deze functies zo te defineren zodat je ze kunt gebruiken voor iedere entiteit binnen mijn project..?
Alle suggesties zijn meer dan welkom
[ Voor 0% gewijzigd door RobIII op 22-04-2010 22:17 . Reden: Code tags aangepast. Syntax hightlighting FTW \0/ ]