| Blog General Travel Sport Hockey Technical Gaming Catalogue Movies TV Shows Music Video Games Pages Random Lists Links About Blog Archive Current Blogs July 2010 (1) June 2010 (2) May 2010 (2) April 2010 (3) March 2010 (1) February 2010 (3) January 2010 (5) 2009 (28) 2008 (25) 2007 (67) 2006 (23) 2005 (32) 2004 (10) Blog Tags General 10 in '10 (4) Books (1) DVDs (2) Funny (13) Gadgets (5) Hawt (1) Movies (13) Music (6) Pets (4) Recipe (16) TV Shows (1) Web (29) Travel Calgary (2) Edmonton (12) Kuala Lumpur (1) New York (7) Niagara Falls (2) Phuket (2) Pittsburgh (5) Washington (4) Sport Basketball (1) Running (3) Hockey Pittsburgh Penguins (25) Technical .NET (3) Java (4) Software (3) Work (2) Gaming Commodore 64 (2) Master System (1) Mega Drive (1) Xbox 360 (15) XNA (1) GamerTag ![]() The rarely updated blog of Joel Dixon | < Vroom Vroom, sniff! | I've toured around the world, from London to the Bay... >Thursday, April 07, 2005ADO.NET Strongly Typed Relationships# Posted by Joel Dixon at 07/04/2005 01:55:00Updated by Joel Dixon at 21/09/2007 04:03:35 - added comment captcha It's been over a month since my last blog - but that's OK - I'm sure no-one will mind! I've decided to add a little technical advice about accessing data with Strongly Typed DataSets in ADO.NET. Reason being, I spent over an hour looking for this information before I finally tracked it down on someone's blog. After my post, it will double the amount of blogs with this information ![]() In my ASP.NET WebService, I like to use strongly typed DataSets to access my data with ADO.NET, it's a whole lot cleaner that way. For my example, let's say we have a Customers table, and an Orders table. Customers are identified by their CustomerID, and orders by their OrderID (yes, I'm using Northwind). The Orders table also has the CustomerID that made the order (a one to many relationship). Defining the strongly typed DataSet for this in Visual Studio.NET is quite easy:
Now that you have the strongly typed DataSet, you can directly refer to column names. For example, instead of: Code:
you can use: Code:
That was all good - but I wanted to look at the Orders that are assigned to a Customer (as per the relationship I added above). Most examples were telling me to do something like this: Code:
This gets the job done - but we're back to using things like orderRow["OrderID"] instead of orderRow.OrderID. The disadvantage to using GetChildRows is that it returns an array of DataRow's - not Orders. A way to achieve the above code using your strongly typed relationship is as follows: Code:
When the relationship was created above, it added a GetOrdersRows() method on the CustomersRow object. It may not seem like much - but having the strongly typed OrderRow can help (well, it helped me). After doing a quick search on GetOrdersRows() (to see if I had missed any examples of this) - I found a good ADO.NET tutorial. I wish I had have found that a few hours ago! # Posted in the Technical section and tagged as: .NET Back to Top Comments
| Blog Search Recent Blogs Phuket, Thailand - 2010 Mr. Potato Head Mashups Random Travel #2 - Thailand You have been the ones, you have been the ones for me. Balls Caramelised Pumpkin Risotto Malaysian Vegetable Curry Kuala Lumpur, Malaysia - 2010 Yeah ... Baby! xkcd ParodyFeed Blog EntriesRecent Comments Balls posted 4 months ago by joeldixon Exactly. What's wrong with the kids today when they can't spell genitals? And you and I have been using ... link Balls posted 4 months ago by abrereton I'm just glad that they spelt it correctly in the end. link Kuala Lumpur, Malaysia - 2010 posted 4 months ago by Aland84 Looks like you had a ball at KL. There are plenty of hotels in Kuala Lumpur in the $140 a ... link Kuala Lumpur, Malaysia - 2010 posted 5 months ago by joeldixon Definitely, you have to let us know when you're free for UBs! link Kuala Lumpur, Malaysia - 2010 posted 5 months ago by Hitman Awesome - Dixon, Awesome mate, living life to the max. You'll have to fill me in more next ... link Comment Standings 1. the man with no name (45) 2. Hoff (39) 3. Gav (27) 4. Hitman (26) 5. Brad (22) 6. Eryc-Ads (13) 7. Deep Lurker (6) 8. thefury (5) 9. Dieter (4) 10. Zelks (4) | ||||||||||
![]() About This Site | Contact Me | 39 days until then | ||||||||||||