M
malcolm
Hello,
We have a robust (.NET 1.1 c# winforms) client-server application that
utilizes many typed DataSets, typed DataTables and typed DataRows. Our
application is a series of windows and popup windows where you can
edit information and data, nothing out of the ordinary. I estimate we
have something like 50 to 100 tables and/or views in our database each
of which map to one strongly typed DataTable. Now we have some odd 20
to 30 typed DataSets throughout our application, only some of which we
have managed to be able to re-use.
We're starting to run into design quirks by having all of these
DataSets. The .NET rule that an instance of a DataTable can only live
in one DataSet is the cause for most of these quirks, but to be frank,
I'm ok with this rule and I think the issues are more subtle, maybe
our design approach in general.
One idea that I keep having, only I can't convince myself of why it
would work, is to have 1 instance of a Typed DataSet in our entire
application. This typed DataSet probably should be a non-static
instance that is passed around from our startup form (although static
would be easier maybe...). From a design point of view, this would
solve a lot of our issues, but I think the efficiency would be bad...
or would it???
I mean, this dataset would have like 100 tables in it, ideally with
relationships defined also!!! Some tables could have 10,000 rows,
would this be crazy to store in one dataset? I'm thinking we could
simply add and remove data to keep the amount of memory required to
normal levels. Has anybody ever attempted this approach and if so, did
you like it? Or is this like the whole point of DataSets and what is
actaully recommended?
If this approach is not a good idea (which is what my instincts tell
me), then another big issue we have comes into play when we launch
popups that edit data. In particular, it's when these popups are
complex and have thier own DataSets then issues occur because each
consumer may have two additional (entirely different) DataSets.
-dave
We have a robust (.NET 1.1 c# winforms) client-server application that
utilizes many typed DataSets, typed DataTables and typed DataRows. Our
application is a series of windows and popup windows where you can
edit information and data, nothing out of the ordinary. I estimate we
have something like 50 to 100 tables and/or views in our database each
of which map to one strongly typed DataTable. Now we have some odd 20
to 30 typed DataSets throughout our application, only some of which we
have managed to be able to re-use.
We're starting to run into design quirks by having all of these
DataSets. The .NET rule that an instance of a DataTable can only live
in one DataSet is the cause for most of these quirks, but to be frank,
I'm ok with this rule and I think the issues are more subtle, maybe
our design approach in general.
One idea that I keep having, only I can't convince myself of why it
would work, is to have 1 instance of a Typed DataSet in our entire
application. This typed DataSet probably should be a non-static
instance that is passed around from our startup form (although static
would be easier maybe...). From a design point of view, this would
solve a lot of our issues, but I think the efficiency would be bad...
or would it???
I mean, this dataset would have like 100 tables in it, ideally with
relationships defined also!!! Some tables could have 10,000 rows,
would this be crazy to store in one dataset? I'm thinking we could
simply add and remove data to keep the amount of memory required to
normal levels. Has anybody ever attempted this approach and if so, did
you like it? Or is this like the whole point of DataSets and what is
actaully recommended?
If this approach is not a good idea (which is what my instincts tell
me), then another big issue we have comes into play when we launch
popups that edit data. In particular, it's when these popups are
complex and have thier own DataSets then issues occur because each
consumer may have two additional (entirely different) DataSets.
-dave