Solved

Reflection to build SqlParameters

Posted on 2013-06-24
7
421 Views
Last Modified: 2013-07-17
I am using Reflection to create lots of SqlParameters in an ASP.NET C# web application; is this a good idea, or are there some serious problems I need to be aware of?

Thanks.
0
Comment
Question by:userTester
  • 4
  • 3
7 Comments
 
LVL 30

Accepted Solution

by:
anarki_jimbel earned 500 total points
ID: 39272795
It's hard to say without knowing details. However, taking into account that reflection is pretty time consuming process your application performance may become quite poor. If you have many requests it can be a big problem, I think.

Read the article, for example:

http://msdn.microsoft.com/en-us/magazine/cc163759.aspx
0
 

Author Comment

by:userTester
ID: 39273217
Thanks for that; the articles go through a bit more than what I am doing, and it seems that my situation is okay. Here's the piece that I use to get the object properties:

List<KeyValuePair<string, Type>> pType = new List<KeyValuePair<string, Type>>();

// Add object Properties to KeyValue List
foreach (PropertyInfo pInfo in type.GetProperties())
{
  pType.Add(new KeyValuePair<string, Type>(pInfo.Name, pInfo.PropertyType));
}

and

List<KeyValuePair<string, object>> pVal = new List<KeyValuePair<string, object>>();

// Get object type
Type objType = obj.GetType();

// Add Property Name and Value to return list
foreach (PropertyInfo pInfo2 in objType.GetProperties())
{
  pVal.Add(new KeyValuePair<string, object>(pInfo2.Name,propInfo2.GetValue(obj, null)));
}
0
 
LVL 30

Expert Comment

by:anarki_jimbel
ID: 39273705
Looks not too bad :).
If you'll have any doubts about performance in future I'd recommend to do performance measurements using some profiler.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:userTester
ID: 39273741
Yes, the whole CreateParameters method I have put together works very well, but it's good to know that there is the performance hit that goes with it, so I will have to test that, and might have to simply hard-code the parameters for each situation.

Was hoping to avoid all the hard-coding? I wonder whether there's another more acceptable way of automating the creation of SqlParameters??
0
 

Author Comment

by:userTester
ID: 39325206
Perhaps I should phrase the question a bit differently:

Aside from using Reflection, is there another commonly used way to automate Parameter creation?
0
 
LVL 30

Assisted Solution

by:anarki_jimbel
anarki_jimbel earned 500 total points
ID: 39325305
Not sure. May be some config file... But I'd rather use reflection.
0
 

Author Closing Comment

by:userTester
ID: 39334891
Thanks for answering my questions.
0

Featured Post

Backup Solution for AWS

Read about how CloudBerry Backup fully integrates your backups with Amazon S3 and Amazon Glacier to provide military-grade encryption and dramatically cut storage costs on any platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decadeā€¦

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question