John's profileJCSharpBlogLists Tools Help

Blog


    June 15

    All about DataSet Designer

    DataSet Designer, Xml Schema Designer and Xml Editor

    Abstract: Relationship among the three designers. Some cool things as well as odd things that is by design or won’t fix. View code’s behavior.  

    (Note, DataSet Designer is also called DataSet Editor, Xml Schema Designer is also called Xml Schema Editor)

    In VS2002 or 2003, we shipped a XmlSchema designer, which serves as both schema designer and typed dataset designer.

    In VS2005, you will see that there is a brand new DataSet designer in additional to the original Xml Schema designer.

    Furthermore, there is a new xml text editor (developed by Chris Lovett from another team, I am sure someone is blogging it, will find out where) called Xml Editor will be shipped too.

    What are the relationships among these designers?

    All of them have the same extension ".xsd"

    If you start fresh, create a new DataSet item, the DataSet designer will be launched.

    If you choose to create a new Xml Schema item, the XmlSchema designer will be launched.

    If you double click (or open) on an existing xsd file in the solution explorer (SE), the IDE is smart to peek the content of the file and open the DataSet designer or SchemaDesigner appropriately. The DataSet file is recognized by the msdata:IsDataSet="true" attribute in the root element of the schema, for example:

    <xs:element name="DataSet1" msdata:IsDataSet="true"...>

    Well, you know that the DataSet is a schema file, so you can still open it by the Schema Designer, you can do this by open with menu (see the picture).

    Can we open a non-DataSet xsd file with DataSet designer? Sure you can but you will be warned that to use with your own risk because the DataSet designer use DataSet.WriteSchema to persist the data. That means it does not persist white space, comment, etc.

    Another cool thing is the XmlText editor and the DataSet designer shares same designer architecture and they share the same text buffer. That said, you can open an xsd file with both designer at the same time, changing in DataSet designer will reflect to XmlEdit immediately and vise versa.

    To be continued…

    Ok, pick it up from yesterday.

    What about the sharing buffer with Xml Schema Editor? Well, that depends on which editor is opened first.

    If you open the xsd file with DataSet designer first(which uses text-buffer), then open with Xml Schema Editor, you are in good luck as XML Schema Designer knows how to use text-buffer. However, if you open the file by XML Schema Designer first (which uses HtmDocData buffer), then bad luck, you cannot open it in DataSet designer as it does not how to use HtmDocData buffer. The IDE will prompt you to close the Xml Schema Designer to open the DataSet designer.

    When you right click on the xsd file, you can also see there is a menu command called View Code (of course there is a View Designer command, and you should know that it will launch either DataSet designer or Xml Schema Designer as I talked above). What is the View Code doing here?

    Here is a summary: if the DataSet designer is opened, view code will bring you to the partial class file (e.g. DataSet1.vb). If DataSet designer is not opened or the Schema designer is opened, view code will bring you to the xsd source code with the Xml Editor.

    There is an exception though for the Web project, as web project does not support the partial class, the view code command then also brings you to the xsd source code.  

    Wrap it up here! I hope this blog make you feel clear about how our DataSet designer works along the Xml Schema Designer and Xml (Text) Editor.

    I hope we can have a new extension for typed dataset file next version.

     

    8/26/05 --

    One more thing: If the dataset file contains imported schema (in xsd file contains <xs:include schemaLocation="xxx.xsd"/>, we will open the file with Xml Schema designer.

     

     

    Comments (11)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    list28wrote:
    http://www.adapterlist.com/camcorder-battery/canon/BP-511A.htm Canon BP-511A battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-511.htm Canon BP-511 battery
    http://www.adapterlist.com/camcorder-battery/canon/EOS-20D.htm Canon EOS 20D battery
    http://www.adapterlist.com/camcorder-battery/canon/EOS-30D.htm Canon EOS 30D battery
    http://www.adapterlist.com/camcorder-battery/canon/EOS-40D.htm Canon EOS 40D battery
    http://www.adapterlist.com/camcorder-battery/canon/EOS-50D.htm Canon EOS 50D battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-508.htm Canon BP-508 battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-511.htm Canon BP-511 battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-511A.htm Canon BP-511A battery

    http://www.adapterlist.com/camcorder-battery/canon/BP-512.htm Canon BP-512 battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-514.htm Canon BP-514 battery
    http://www.adapterlist.com/camcorder-battery/canon/BP522.htm Canon BP522 battery
    http://www.adapterlist.com/camcorder-battery/canon/BP-522.htm Canon BP-522 battery
    http://www.adapterlist.com/camcorder-battery/canon/ZR40.htm Canon ZR40 battery
    http://www.adapterlist.com/camcorder-battery/canon/ZR45.htm Canon ZR45 battery
    http://www.adapterlist.com/camcorder-battery/canon/ZR50.htm Canon ZR50 battery
    http://www.adapterlist.com/camcorder-battery/canon/ZR65.htm Canon ZR65 battery
    http://www.adapterlist.com/camcorder-battery/canon/ZR80.htm Canon ZR80 battery

    http://www.adapterlist.com/camcorder-battery/jvc/BN-V408.htm Jvc BN-V408 battery
    http://www.adapterlist.com/camcorder-battery/jvc/BN-V408U.htm Jvc BN-V408U battery
    http://www.adapterlist.com/camcorder-battery/jvc/D30.htm Jvc D30 battery
    http://www.adapterlist.com/camcorder-battery/jvc/D50.htm Jvc D50 battery
    http://www.adapterlist.com/camcorder-battery/jvc/D70This.htm Jvc D70This battery
    http://www.adapterlist.com/camcorder-battery/jvc/Mini-DV.htm Jvc Mini-DV battery
    http://www.adapterlist.com/camcorder-battery/jvc/BN-V416U.htm Jvc BN-V416U battery
    http://www.adapterlist.com/camcorder-battery/jvc/BN-V416.htm Jvc BN-V416 battery
    http://www.adapterlist.com/camcorder-battery/jvc/BN-V428U.htm Jvc BN-V428U battery

    http://www.adapterlist.com/camcorder-battery/jvc/BN-V428.htm Jvc BN-V428 battery
    http://www.adapterlist.com/camcorder-battery/jvc/BN-VF707.htm Jvc BN-VF707 battery
    http://www.adapterlist.com/camcorder-battery/jvc/BNVF707.htm Jvc BNVF707 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GZ-DF470.htm Jvc GZ-DF470 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GR-D250.htm Jvc GR-D250 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GR-X5.htm Jvc GR-X5 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GR-D290.htm Jvc GR-D290 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GR-D295.htm Jvc GR-D295 battery
    http://www.adapterlist.com/camcorder-battery/jvc/GR-D246.htm Jvc GR-D246 battery
    4 days ago
    list21wrote:
    http://www.adapterlist.com/dell/inspiron-9300.htm dell inspiron 9300 battery
    http://www.adapterlist.com/hp/dv8000.htm hp dv8000 battery
    http://www.adapterlist.com/hp/dv1000.htm hp dv1000 battery
    http://www.adapterlist.com/hp/dv4000.htm hp dv4000 battery
    http://www.adapterlist.com/hp/r3000.htm hp r3000 battery
    http://www.adapterlist.com/dell/inspiron-mini-9.htm dell inspiron mini 9 battery
    http://www.adapterlist.com/dell/inspiron-9400.htm dell inspiron 9400 battery
    http://www.adapterlist.com/acer/aspire-5520.htm acer aspire 5520 battery
    http://www.adapterlist.com/acer/aspire-5920.htm acer aspire 5920 battery
    http://www.adapterlist.com/dell/inspiron-6400.htm dell inspiron 6400 battery
    http://www.adapterlist.com/ibm/thinkpad-x60.htm ibm thinkpad x60 battery
    http://www.adapterlist.com/ibm/thinkpad-x60s.htm ibm thinkpad x60s battery
    http://www.adapterlist.com/hp/zt3000.htm hp zt3000 battery
    http://www.adapterlist.com/hp/pavilion-zv5000.htm hp pavilion zv5000 battery
    http://www.adapterlist.com/hp/pavilion-zv6000.htm hp pavilion zv6000 battery
    http://www.adapterlist.com/hp/pavilion-zd8000.htm hp pavilion zd8000 battery
    http://www.adapterlist.com/hp/pavilion-zx5000.htm hp pavilion zx5000 battery
    http://www.adapterlist.com/hp/presario-v4000.htm hp presario v4000 battery
    http://www.adapterlist.com/hp/presario-v2000.htm hp presario v2000 battery
    http://www.adapterlist.com/hp/presario-m2000.htm hp presario m2000 battery
    http://www.adapterlist.com/compaq/presario-v4000.htm compaq presario v4000 battery
    http://www.adapterlist.com/compaq/presario-v2000.htm compaq presario v2000 battery
    http://www.adapterlist.com/compaq/presario-v3000.htm compaq presario v3000 battery
    http://www.adapterlist.com/compaq/presario-v6000.htm compaq presario v6000 battery
    http://www.adapterlist.com/compaq/presario-c700.htm compaq presario c700 battery
    http://www.adapterlist.com/dell/fk890.htm dell fk890 battery
    http://www.adapterlist.com/toshiba/pa3593u-1bas.htm toshiba pa3593u-1bas battery
    http://www.adapterlist.com/hp/m2000.htm hp m2000 battery
    http://www.adapterlist.com/hp/338794-001.htm hp 338794-001 battery
    http://www.adapterlist.com/hp/395789-001.htm hp 395789-001 battery
    http://www.adapterlist.com/compaq/116314-001.htm compaq 116314-001 battery
    http://www.adapterlist.com/toshiba/satellite-a70.htm toshiba satellite a70 battery
    http://www.adapterlist.com/compaq/319411-001.htm compaq 319411-001 battery
    http://www.adapterlist.com/hp/346970-001.htm hp 346970-001 battery
    http://www.adapterlist.com/hp/367759-001.htm hp 367759-001 battery
    http://www.adapterlist.com/hp/411462-421.htm hp 411462-421 battery
    http://www.adapterlist.com/hp/ev088aa.htm hp ev088aa battery
    http://www.adapterlist.com/hp/ex941aa.htm hp ex941aa battery
    http://www.adapterlist.com/laptop battery
    http://www.adapterlist.com/laptop batteries
    http://www.adapterlist.com/dell laptop batteries/
    http://www.adapterlist.com/dell/wr050.htm dell wr050 battery
    http://www.adapterlist.com/hp laptop batteries/
    http://www.adapterlist.com/laptop ac adapter/
    Nov. 9
    Oct. 20
    Aug. 10
    Picture of Anonymous
    JohnChen wrote:
    MDeevi, I saw Steve has replied your question: that is a cut feature and won't be in RTM.

    Greg, your bug is now in the appropriate team. Hope they can reply you soon.

    John
    Aug. 24
    Picture of Anonymous
    MDeevi wrote:
    The DataAdaptor in Beta 1 had a generate WebMethod property. In Beta 2 this property isn't there. I want to know how to web-enable the dataset and update data across the web using the DataSet designer rather than hand coding it, the way I could use the generateWebMethod property.
    Aug. 17
    Picture of Anonymous
    Greg Donovan wrote:
    John,

    I've posted a bug "Datasets perform slower when deserialized" complete w/source at http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=e56d549b-ccd5-4e60-aa30-10f4b703fe2c

    During either serialization or deserialization some data must be lost which degrades performance. I was able to match the performance by deserializing the data to an untyped dataset and then manually loadiing the typed dataset (iterate thru tables). While this is a workaround it's not ideal and causes app startup time to increase significantly. The query I was testing was simply setting a RowFilter on one of the tables - "DataDate <= some date AND DataDate => some date" - something like that anyway.

    Thanks,

    Greg
    Aug. 15
    Picture of Anonymous
    JohnChen wrote:
    To Diego, Sorry I did not read my blog often and I was working hard in bug fixing recently (or all the time).
    I think Steve has already answered your questions.

    To Greg:
    I do not know the reason. I will poke around to see and DataSet run time dev to see what is going on.
    P.S.
    What exactly do you mean the search here? Could you provide a code snippet to demonstrate the problem?
    You do not need to provide a dataset with 1million row but it would be nice if this could be created dynamically.
    Aug. 15
    Picture of Anonymous
    Greg Donovan wrote:
    Question regarding datasets....I've found that searching a large dataset (1 million rows) that has been deserialized takes roughly 4-5x longer than searching a dataset that has been loaded via calling the table adapter 'Fill' methods. Is there any explanation for this? In the process of serialization is key information lost which would cause performance to lag once the dataset is deserialized?
    Aug. 13
    Picture of Anonymous
    Diego Vega wrote:
    By the way, I know this is very late in Visual Studio 2005 development cycle. I regret I didn't have a chance to dig into it before. I hope we will get more out of cycle updates from your group and other groups from now. If you think this cannot be implemented, can you suggest me any work around? I would like to use your datasets, but I need to be database engine agnostic. Thanks again!
    Aug. 1
    Picture of Anonymous
    Diego Vega wrote:
    John, I have been diving for some days on the new typed DataSet designer, and I must say I am very impressed and enthusiastic about it.

    There is one particular piece of feedback I have sent to MSDN that I would really like to ask you and Steve to look at, if you don't mind. Can I ask for special treatment from blogger to blogger? :)

    It is about the code generated by MSDataSetGenerator not using DBProviderFactory. Suggestion ID is FDBK33164, and you can read it here:

    http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?FeedbackId=4320e4f2-964f-4ffb-9d7d-bbd5099fbfbc

    Also, you will find the article I wrote in my blog here:

    http://diegov.blogspot.com/2005/07/limitations-of-typed-datasets-in.html

    Thanks!
    Aug. 1