?
Solved

Reflection to build SqlParameters

Posted on 2013-06-24
7
Medium Priority
?
430 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 30

Accepted Solution

by:
anarki_jimbel earned 2000 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
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 

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 2000 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

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

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

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
Suggested Courses

801 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