473,394 Members | 1,701 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Generating Datasets - Tricky Question


Is there any tool that generates Typed DataTables rather than Typed
Datasets? The trouble we are having is we have quite a few tables in
our database and a single table can be a part of more than one dataset.
If we use the XSD.Exe, the datatable definitions are repeated in every
dataset they appear in; causing our data definition layer to bloat.

Let us say there is a database table called Account which appears in
two dataset definitions - AccountData and TransactionData, XSD.Exe
creates two copies of Account datatable. This is very bad design as the
same underlying table is represented as different .net types.

We have looked at CodeSmith but it does not seem to provide any
out-of-the-box templates for what we are looking. We could write our
own templates but we are trying to avoid it to see if there is a better
way of coping with the problem.

Thanks.

May 11 '06 #1
4 1426
I'm assuming that the Account database table is a single table that is being
represented in 2 different DataSets. Am I correct? If so, why are you using
2 different DataSets for the same Database? A single DataSet can represent
an entire Database if desired.

It is important to note that simply creating a DataSet involves no database
interaction (other than the code creation process). Objects in the DataSet
are not populated until you say they are. In other words, there is no reason
that you should need 2 different DataSets that overlap, and in fact, this
could lead to problems with synchronization of the data across both
(disconnected) DataSets.

--
HTH,

Kevin Spencer
Microsoft MVP
Professional Numbskull

Hard work is a medication for which
there is no placebo.

"S Chapman" <s_*********@hotmail.co.uk> wrote in message
news:11**********************@u72g2000cwu.googlegr oups.com...

Is there any tool that generates Typed DataTables rather than Typed
Datasets? The trouble we are having is we have quite a few tables in
our database and a single table can be a part of more than one dataset.
If we use the XSD.Exe, the datatable definitions are repeated in every
dataset they appear in; causing our data definition layer to bloat.

Let us say there is a database table called Account which appears in
two dataset definitions - AccountData and TransactionData, XSD.Exe
creates two copies of Account datatable. This is very bad design as the
same underlying table is represented as different .net types.

We have looked at CodeSmith but it does not seem to provide any
out-of-the-box templates for what we are looking. We could write our
own templates but we are trying to avoid it to see if there is a better
way of coping with the problem.

Thanks.

May 11 '06 #2
>>there is no reason
that you should need 2 different DataSets that overlap,
<<

The above statement may not be entirely correct.

May 15 '06 #3
I agree with Kevin... you have to explain your design in more detail.
It's not clear to me why you have the same DataTable in multiple
DataSets within your data layer. I would have thought that a more usual
design would have been one DataTable (or a header / detail pair) per
data layer object, and then have the objects manage the relationships
between the different entities in your system.

Obviously there is a reason why you did what you did. Help us
understand the reasoning, and maybe we can come up with a solution to
your problem.

May 15 '06 #4
Thanks Bruce, ideally we would like to have one datatable class per
database table. We have a service based architecture in which the UI is
very loosely coupled with the middle tier. We tend to return max
information for every request. Let us say the UI requests all
transactions for a given account, we would have one dataset that
contains two datatables, one for Transactions and the other for Account
information as invariably the UI will not just display the transactions
but also some account information. Now, there might be another instance
when the UI is just updating the Account details - for this there would
be another dataset containing just the Account dataTable (and may be
additional tables for Credit and Debit card details and so on). So, we
do have situations when a DataTable appears in more than one dataset. I
hope I have explained the situation clearly.

If we use the XSD.Exe we will end up with many instances of Account
datatable class (one per dataset) which is undesirable.

May 17 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: William Ryan | last post by:
At the risk of sounding like a Big 5 consultant, "It depends". 1) Strongly typed datasets rock, they are faster than untyped, use intellisense... but your reason for wanting to use them is...
0
by: linda | last post by:
I can use GD::Graph to generate a graph with two-axes by using two datasets and generate a stacked bar chart by using multiple datasets now. However, I want to generate a mixed-type graph which...
1
by: Jack Notarangelo | last post by:
Hello, I am interested in anyone's preference as to creating datasets in code vs generating them using the UI. I know typing is an advantage of the latter method. But any other information...
10
by: Al Christoph | last post by:
Please forgive me if this is the wrong place to post this. The last place I posted got me a fairly rude response. I guess vb.db people just don't want to think about XML as database. At any rate,...
1
by: Andrew | last post by:
I'm a long time VB6/ADO and Java developer new to ADO.NET. I'm trying to decide on best practices and I'd appreciate any assistance. I have one specific question and another more general...
4
by: Alpha | last post by:
I have a small Window application and through out the different forms I create a different dataset. At the begining I used the Tools to drag and drop the SqlDataAdapter, connection and dataset...
3
by: Rob Thomas | last post by:
Hi, I've been tasked to come up with a new architecture for a large application at one of my customer's sites. In the past, I have developed multi-tier applications whereby the business...
4
by: Chris Fulstow | last post by:
Hi all, I'm investigating the best approach for building an n-tier web application with ASP.NET 2.0. I want to separate my data access layer, so an ObjectDataSource seems the natural choice,...
4
by: Ronald S. Cook | last post by:
I've always used untyped datasets. In a Microsoft course, it walks through creating typed datasets and harps on the benefits. It has you drag all these things around ..wizard, wizard, wizard......
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.