Obliv`
Legacy Member
Ik ben bezig met wat research in .NET.
Momenteel probeer ik een zo goed mogelijke architecture te ontwerpen voor mijn applicaties. Alle details over die architectuur laat ik nu achterwege aangezien ze hier niet van belang zijn.
Nu had ik een vraagje over het opvullen van mijn objecten. Het zit zo:
- ik voor een stored procedure uit die een record teruggeeft
- die waardes worden opgevangen in een datareader
- ik geef het object dat moet worden opgevuld samen met de datareader door aan een procedure.
- die procedure gaat aan de hand van reflection de properties van dat object koppelen aan de waardes die uit de database zijn gekomen.
Nu ben ik aan het twijfelen of het wel goed is om zo mijn objecten op te vullen. Reflection is traag en aangezien deze procedure zeer dikwijls wordt opgeroepen, kan dit in het nadeel van de performantie van mijn applicatie spelen.
Is het dan niet beter om voor elk object een procedure te schrijven?
Momenteel probeer ik een zo goed mogelijke architecture te ontwerpen voor mijn applicaties. Alle details over die architectuur laat ik nu achterwege aangezien ze hier niet van belang zijn.
Nu had ik een vraagje over het opvullen van mijn objecten. Het zit zo:
- ik voor een stored procedure uit die een record teruggeeft
- die waardes worden opgevangen in een datareader
- ik geef het object dat moet worden opgevuld samen met de datareader door aan een procedure.
- die procedure gaat aan de hand van reflection de properties van dat object koppelen aan de waardes die uit de database zijn gekomen.
Code:
Protected Sub FillDTO(ByRef dto As Object, ByVal dataReader As System.Data.Common.DbDataReader)
If dto IsNot Nothing Then
Dim propertyInfo As System.Reflection.PropertyInfo = Nothing
Dim propertyValue As Object = Nothing
For Each propertyInfo In dto.GetType().GetProperties()
If propertyInfo.CanWrite = True Then
propertyValue = dataReader(propertyInfo.Name)
If propertyValue IsNot System.DBNull.Value Then
propertyInfo.SetValue(dto, propertyValue, Nothing)
End If
End If
Next
End If
End Sub
Nu ben ik aan het twijfelen of het wel goed is om zo mijn objecten op te vullen. Reflection is traag en aangezien deze procedure zeer dikwijls wordt opgeroepen, kan dit in het nadeel van de performantie van mijn applicatie spelen.
Is het dan niet beter om voor elk object een procedure te schrijven?
hibernate en heb er al wel wat een beetje ervaring mee.
.
.