Beste tweakers,
In navolging van mijn andere thread:
.Net Data Access, wat is nou het beste?
Heb ik een wat specifiekere vraag, in dit geval over het Entity Framework.
Gegeven is een hele eenvoudige situatie:
- Een webpagina waarop je klant gegevens kunt wijzigen
Als je nu volgens het principe werkt dat een ObjectContext maar kort dient te bestaan, dan ben ik geneigd om het volgende te doen:
- Een CustomerManager class bouwen die dmv FindById de juiste Customer teruggeeft
- De class krijgt in de constructor de ObjectContext mee
Om customer 1 op te halen kan ik dus de volgende code schrijven:
Hieraan zou ik dan mijn textboxes, etc binden (txtCustomerName.Text = cust.Name, etc).
Vervolgens wijzig je de inhoud van de textbox en druk je op Save. Je krijgt dan een postback (of callback bij het gebruik van UpdatePanel, maar dit laten voor het gemak even buiten beschouwing).
Op het moment dat je in het btnSave_Click event komt, wil je graag de nieuwe gegevens bewaren.
Wat is nu wijsheid?
1. ObjectContext en opgevraagde entities ergens bewaren? Zodat je change tracking hebt.
2. Iets proberen met lazy loading, om een Customer object te krijgen en de velden te wijzigen, zodat je weer een update kunt doen.
3. ???
I'm confused. Dit is een erg simpele (en verzonnen) toepassing, maar ik wil voorkomen dat ik de klant een 2e keer moet ophalen voordat ik een update doe.
Ik kan mij niet voorstellen dat dit moeilijk zou moeten zijn, dus ik zie vast iets over het hoofd. Tevens heb ik gezocht naar voorbeelden op internet, maar weinig tot niks gevonden.
Ook wil ik geen gebruik maken van EntityDataSource, maar zelf controle hebben over welke controls ik populate en wanneer.
Wie helpt?
In navolging van mijn andere thread:
.Net Data Access, wat is nou het beste?
Heb ik een wat specifiekere vraag, in dit geval over het Entity Framework.
Gegeven is een hele eenvoudige situatie:
- Een webpagina waarop je klant gegevens kunt wijzigen
Als je nu volgens het principe werkt dat een ObjectContext maar kort dient te bestaan, dan ben ik geneigd om het volgende te doen:
- Een CustomerManager class bouwen die dmv FindById de juiste Customer teruggeeft
- De class krijgt in de constructor de ObjectContext mee
Om customer 1 op te halen kan ik dus de volgende code schrijven:
code:
1
2
3
4
| Using context As New TestEntities() Dim custManager As New CustomerManager(context) Dim cust As Customer = custManager.GetById(1) End Using |
Hieraan zou ik dan mijn textboxes, etc binden (txtCustomerName.Text = cust.Name, etc).
Vervolgens wijzig je de inhoud van de textbox en druk je op Save. Je krijgt dan een postback (of callback bij het gebruik van UpdatePanel, maar dit laten voor het gemak even buiten beschouwing).
Op het moment dat je in het btnSave_Click event komt, wil je graag de nieuwe gegevens bewaren.
Wat is nu wijsheid?
1. ObjectContext en opgevraagde entities ergens bewaren? Zodat je change tracking hebt.
2. Iets proberen met lazy loading, om een Customer object te krijgen en de velden te wijzigen, zodat je weer een update kunt doen.
3. ???
I'm confused. Dit is een erg simpele (en verzonnen) toepassing, maar ik wil voorkomen dat ik de klant een 2e keer moet ophalen voordat ik een update doe.
Ik kan mij niet voorstellen dat dit moeilijk zou moeten zijn, dus ik zie vast iets over het hoofd. Tevens heb ik gezocht naar voorbeelden op internet, maar weinig tot niks gevonden.
Ook wil ik geen gebruik maken van EntityDataSource, maar zelf controle hebben over welke controls ik populate en wanneer.
Wie helpt?
Ask yourself if you are happy and then you cease to be.