Windows Develop Bookmark and Share   
 index > Windows Forms Sample Applications > IssueVision Question
 

IssueVision Question

The IVDataSet.cs says that it was generated by a tool. What is the tool to generate this code?

TIA -Tim

TimLarson  Thursday, March 09, 2006 1:43 PM

I see this was posted nearly three weeks ago, so I am betting you have already found your answer. For the benefit of those that haven't (hoping these forums have more longevity than the gotdotnet forums did :():

IVDataSet is a strongly typed DataSet inheriting directly from DataSet. A strongly typed DataSet provides the advantage of allowing the developer to access the properties of the DataSet in relation to the schema meaning you can access columns by name instead of using collection-based methods.

Using typed DataSets provides the developer with numerous advantages: auto generation using a tool, makes use of IntelliSense (automatically completes code as you type), allows you to modify your underlying structure, rebuild the typed dataset with the tool and readily find any code errors at compile time allowing you to rapidly navigate to the code needing modification using build errors window in VS.NET,and more.

A strongly typed DataSet within the Visual Studio.NET environment by right clicking on the xsd file in the solution explorer, and selecting 'Run Custom Tool.'

To generate a strongly typed DataSet without VS.NET, you can do so using the xsd.exe tool provided with the .NET Framework SDK.

The syntax for using xsd.exe is shown here:

xsd.exe /d /l:C# XSDSchemaFileName.xsd
/n:XSDSchema.Namespace
/d instructs xsd.exe to generate a DataSet, and /l: defines what language to use (C#, in this case). /n: is optional and instructs xsd.exe to also generate a namespace (in this case, XSDSchema.Namespace). The source file for the schema is defined as XSDSchemaFileName.xsd, and the output code will be in a file called XSDSchemaFileName.cs. Note that the extension will depend on the language used. The generated code can also be compiled as a module or library and used in an ADO .NET application.

The thing about the IssueVision Strongly Typed DataSet is that it is very complicated, so much so that most developers may shy from it. That being said, it was developed to be a reference application demonstrating what could be done with the technology, and most people agree it does this well.

The XSD file's sole purpose in life is to define the Schema of the DataSet to be generated by the XSD tool. It does not create the Adapters, Command Objects etc you will need to fill each of the various datatable objects, etc, contained within the DataSet, merely the Strongly Typed DataSet. When I first tried to decipher the Strongly Typed DataSet, I don't think I completely grasped this: you still need to develop DataAdapters, Command & Connection objects to fill & update these objects. The tool doesn't do it for you.

Within IssueVision, this is accomplished by the IVData class. It took me a while to get to a point where I understood this enough to even modify it simply, and to be honest even now I barely have my head around it, I can only see little pieces, and I have been working solidly in ADO.NET for three years, many times without the luxury of the Data Access Application blocks

IVData does all the work for filling and managing the DataSet,the majority of whose code was generated using the Visual Studio Component Designers. It would really be great if someone from Veritigo Software could write a detailed description of how the IVData was developed: even though the designers look really easy to use in the slick product demos, figuring them out is a huge undertaking. Once you have mastered this, then you will have mastered one of the keys to IssueVision.

Separately, IssueVision has a very complicated architecture internally, and decrypting it took more effort than I personally had to give. Two great .NET articles on the topic (with equally great or better samples) by Omar Al Zabirentitled: Developing next generation Smart Clients using .NET 2.0 working with existing .NET 1.1 SOA based XML Web Services (link)(codeproject profile).There were so many aspects of this article that impressed me: it was and possibly still is the very best Soup-To-Nuts complete Enterprise Application Architecture. Omar chose to use .NET Tiers (http://www.nettiers.com/) for his Data Access Layer, more appropriately labeled "Service Oriented Architecture." Omar's implementation in the CodeProject article is complete though: a great example of secure access to Enterprise SOA. Additionally, Omar provided a complete, elegant, 'document-centric' Smart Client architecture, which he thoroughly described in a separate article in the MSDN article:Implement a Microsoft Word-like Object Model for Your .NET Framework Application (link).

ForWhy? anyone interested, I have actually converted the IssueVisionWeb service to use an Access Database, which you can download from my web site here:

http://aciasoftware.com/Default.aspx?tabid=323

Why? Because I was working in an ALL Oracle shop when I did it, and had a few extra hours at hand with no MSDE on my box, so I made this to play with the IssueVision Client.

KennsterDude  Thursday, March 30, 2006 3:38 PM

I see this was posted nearly three weeks ago, so I am betting you have already found your answer. For the benefit of those that haven't (hoping these forums have more longevity than the gotdotnet forums did :():

IVDataSet is a strongly typed DataSet inheriting directly from DataSet. A strongly typed DataSet provides the advantage of allowing the developer to access the properties of the DataSet in relation to the schema meaning you can access columns by name instead of using collection-based methods.

Using typed DataSets provides the developer with numerous advantages: auto generation using a tool, makes use of IntelliSense (automatically completes code as you type), allows you to modify your underlying structure, rebuild the typed dataset with the tool and readily find any code errors at compile time allowing you to rapidly navigate to the code needing modification using build errors window in VS.NET,and more.

A strongly typed DataSet within the Visual Studio.NET environment by right clicking on the xsd file in the solution explorer, and selecting 'Run Custom Tool.'

To generate a strongly typed DataSet without VS.NET, you can do so using the xsd.exe tool provided with the .NET Framework SDK.

The syntax for using xsd.exe is shown here:

xsd.exe /d /l:C# XSDSchemaFileName.xsd
/n:XSDSchema.Namespace
/d instructs xsd.exe to generate a DataSet, and /l: defines what language to use (C#, in this case). /n: is optional and instructs xsd.exe to also generate a namespace (in this case, XSDSchema.Namespace). The source file for the schema is defined as XSDSchemaFileName.xsd, and the output code will be in a file called XSDSchemaFileName.cs. Note that the extension will depend on the language used. The generated code can also be compiled as a module or library and used in an ADO .NET application.

The thing about the IssueVision Strongly Typed DataSet is that it is very complicated, so much so that most developers may shy from it. That being said, it was developed to be a reference application demonstrating what could be done with the technology, and most people agree it does this well.

The XSD file's sole purpose in life is to define the Schema of the DataSet to be generated by the XSD tool. It does not create the Adapters, Command Objects etc you will need to fill each of the various datatable objects, etc, contained within the DataSet, merely the Strongly Typed DataSet. When I first tried to decipher the Strongly Typed DataSet, I don't think I completely grasped this: you still need to develop DataAdapters, Command & Connection objects to fill & update these objects. The tool doesn't do it for you.

Within IssueVision, this is accomplished by the IVData class. It took me a while to get to a point where I understood this enough to even modify it simply, and to be honest even now I barely have my head around it, I can only see little pieces, and I have been working solidly in ADO.NET for three years, many times without the luxury of the Data Access Application blocks

IVData does all the work for filling and managing the DataSet,the majority of whose code was generated using the Visual Studio Component Designers. It would really be great if someone from Veritigo Software could write a detailed description of how the IVData was developed: even though the designers look really easy to use in the slick product demos, figuring them out is a huge undertaking. Once you have mastered this, then you will have mastered one of the keys to IssueVision.

Separately, IssueVision has a very complicated architecture internally, and decrypting it took more effort than I personally had to give. Two great .NET articles on the topic (with equally great or better samples) by Omar Al Zabirentitled: Developing next generation Smart Clients using .NET 2.0 working with existing .NET 1.1 SOA based XML Web Services (link)(codeproject profile).There were so many aspects of this article that impressed me: it was and possibly still is the very best Soup-To-Nuts complete Enterprise Application Architecture. Omar chose to use .NET Tiers (http://www.nettiers.com/) for his Data Access Layer, more appropriately labeled "Service Oriented Architecture." Omar's implementation in the CodeProject article is complete though: a great example of secure access to Enterprise SOA. Additionally, Omar provided a complete, elegant, 'document-centric' Smart Client architecture, which he thoroughly described in a separate article in the MSDN article:Implement a Microsoft Word-like Object Model for Your .NET Framework Application (link).

ForWhy? anyone interested, I have actually converted the IssueVisionWeb service to use an Access Database, which you can download from my web site here:

http://aciasoftware.com/Default.aspx?tabid=323

Why? Because I was working in an ALL Oracle shop when I did it, and had a few extra hours at hand with no MSDE on my box, so I made this to play with the IssueVision Client.

KennsterDude  Thursday, March 30, 2006 3:38 PM

You can use google to search for other answers

Custom Search

More Threads

• Terrarium Server [Beta1] installed !!
• Some bug in TaskVision
• Insert controls in datagrid
• my own game server
• Request for source code pls
• auto update??
• New version questions
• IssueVision for VS2005.
• Concurrent update checking does not appear to work
• The old Story of IssueVision