<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.silverlight.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Programming with .NET - General</title><link>http://forums.silverlight.net/forums/17.aspx</link><description>General discussions around authoring Silverlight .NET applications.</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Re: Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/60442.aspx</link><pubDate>Thu, 12 Jun 2008 13:51:08 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:60442</guid><dc:creator>bropa09</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/60442.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=60442</wfw:commentRss><description>&lt;p&gt;Just thought I&amp;#39;d add my thoughts to the post.&amp;nbsp; Having parity at the core level with styling, templating, triggers, binding and resource dictionaries (merging) with WPF is essential to help with code artefact sharing between WPF and Silverlight and also porting existing WPF applications to Silverlight.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m trying to build a WPF application today knowing that I ideally want to also support a Silverlight version as well.&amp;nbsp; I&amp;#39;m trying to build it so that it will be compatible between the two but I am already using core features/syntax that I know are only partially supported (or not at all) in Silverlight.&amp;nbsp; The reason why I am looking to build both is that in order to support advanced simulation plug-ins in 3D you would need to install the full desktop app (and use WPF), but Silverlight could be used as a low deployment footprint with basic 2D simulation support.&amp;nbsp; The simulator visualizers are plug-ins so the basic app remains the same, but the deployment cost is commensurate with the need for more advanced simulation support.&amp;nbsp; It&amp;#39;s a choice, but one that would work if a lot of the core WPF capabilities had parity with Silverlight.&lt;/p&gt;</description></item><item><title>Re: Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55699.aspx</link><pubDate>Wed, 28 May 2008 02:41:14 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55699</guid><dc:creator>Kevmeister</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55699.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55699</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;justncase80:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;It seems like the simple approach is to use the DataSet (or whatever) on the server side then use a DTO for your webservice and just bind against that directly. Pretty darn simple to me.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Just because you express the idea in one sentence doesn&amp;#39;t make the concept itself simple. Your average .NET programmer is not going to write that DTO that you talk about off the top of their head using IL Emit methods, are they?&lt;/p&gt;
&lt;p&gt;And I don&amp;#39;t think you can argue that binding directly to the DataSet/DataTable would be even simpler, because there is no DTO involved. Not to mention more efficient and hence more performant.&lt;/p&gt;
&lt;p&gt;I think we&amp;#39;re going to have to agree to disagree on this.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Edit: Oh, and therefore we&amp;#39;ll just have to use your suggested technique at the moment, because aside from the web-service generating these dynamic types, there&amp;#39;s not really much else one can do - irrespective of whether your DTO consumes XML, DataTable, DataSet, whatever. DataGrid needs a first-class type to DataBind correctly. But that doesn&amp;#39;t mean Microsoft can&amp;#39;t make life easier for developers ...&lt;/p&gt;</description></item><item><title>Re: Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55696.aspx</link><pubDate>Wed, 28 May 2008 02:33:43 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55696</guid><dc:creator>justncase80</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55696.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55696</wfw:commentRss><description>&lt;p&gt;It seems like the simple approach is to use the DataSet (or whatever) on the server side then use a DTO for your webservice and just bind against that directly. Pretty darn simple to me.&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55693.aspx</link><pubDate>Wed, 28 May 2008 02:29:48 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55693</guid><dc:creator>Kevmeister</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55693.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55693</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;justncase80:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;a lot of this seems like a limitation in SOAP in general more than Silverlight or a lack of datasets. It&amp;#39;s intended to be a strongly defined public API. It really seems like the desire to use Silverlight for generalized reporting is really on the outside of it&amp;#39;s sweetspot.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think the focus on &amp;quot;reporting&amp;quot; helps issues any. A web service API based on a DataSet&amp;nbsp;object&amp;nbsp;is as&amp;nbsp;strongly typed as a webservice taking polymorphic objects - which is what must be happening if you have a web service with only 3 functions covering numerous entities. So I don&amp;#39;t think we can blame SOAP here.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s simply a matter of connectability: as I&amp;#39;ve said before anyone can write a DataSet/DataTable and have that pass back-and-forth between their web-service. The more serious matter is that the serious UI controls such as DataGrid require me to repackage my data in a format fit for its consumption.&lt;/p&gt;
&lt;p&gt;DataBinding is slow enough as it is by virtue of using reflection, and now we have numerous examples whereby people are transmitting their data in one format and then repackaging it into a dynamically-constructed type just so the DataGrid can &amp;quot;consume&amp;quot; it? That&amp;#39;s nonsense.&lt;/p&gt;
&lt;p&gt;And it&amp;#39;s also different from what&amp;#39;s achievable in say ASP.NET. Even if the approach is considered &amp;quot;not best practice&amp;quot; there&amp;#39;s surely going to be a lot of developers getting into Silverlight (from ASP.NET)&amp;nbsp;asking why they have to jump through so many hoops to deliver this kind of data to a Silverlight application.&lt;/p&gt;
&lt;p&gt;Where is the KISS principle in what we currently have?&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55558.aspx</link><pubDate>Tue, 27 May 2008 13:44:08 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55558</guid><dc:creator>justncase80</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55558.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55558</wfw:commentRss><description>&lt;p&gt;a lot of this seems like a limitation in SOAP in general more than Silverlight or a lack of datasets. It&amp;#39;s intended to be a strongly defined public API. It really seems like the desire to use Silverlight for generalized reporting is really on the outside of it&amp;#39;s sweetspot.&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55490.aspx</link><pubDate>Tue, 27 May 2008 03:16:48 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55490</guid><dc:creator>Bydia3</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55490.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55490</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Kevmeister:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;p&gt;I&amp;#39;m a believer in code simplicity.... construct types on the fly to send them down the wire ...I consider the lack of a DataSet/DataTable and the inability to programmatically populate the DataGrid as substantial omissions. DataBinding should be considered a feature of DataGrid, not it&amp;#39;s only method of operation, and even worse when the DataBinding capability forces you to use a very particular method of data representation in order to make it work.... 
&lt;p&gt;..because it is incapable of working with a more generic structure. I don&amp;#39;t care if Microsoft don&amp;#39;t give me a DataSet or a DataTable - I can write those myself. But to then prevent me from being able to databind against that type of data structure, well then I&amp;#39;m pretty much just writing adapter code for no good reason. 
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;My point in using a dataset is to&amp;nbsp;NOT construct types on the fly. Just use it as an xml wrapper with methods that help to maintain insert, update and delete state... and a simple way to bind to a datagrid to view the current rows..&amp;nbsp; Just string data is good enough.&amp;nbsp; Does not need to be complex, doing xml transform on the client to display a html table was good enough for our AJAX solution... cause it is simple.&amp;nbsp; For the web and javascript client, we just pulled the xml(string) from a webservice and accessed it via a javascript&amp;nbsp;object much like server side untyped dataset.&amp;nbsp; The untyped dataset is the type, and values are strings since that&amp;#39;s how it comes from the server.&amp;nbsp; Add in schema meta data and we can loop through a columns collection if we want to know the type of the string data and then we can create dynamic forms.&lt;/p&gt;
&lt;p&gt;I do recognize that this may not come about because seems like Silverlight wants to go the direction&amp;nbsp;of &amp;quot;Rich&amp;quot; internet app.&amp;nbsp; Up to this point our AJAX had been the richest I have seen due to our inhouse built xml objects for client side access.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55270.aspx</link><pubDate>Mon, 26 May 2008 01:41:48 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55270</guid><dc:creator>Kevmeister</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55270.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55270</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m a believer in code simplicity. I come from a C++ background, so Reflection is not a technique that I regularly look to to solve problems. I tend to shy away from it because of its performance implications.&lt;/p&gt;
&lt;p&gt;There&amp;#39;s no disputing that someone can&amp;#39;t construct types on the fly to send them down the wire so that the client (Silverlight app) can consume them easily (in particular, the DataGrid control).&lt;/p&gt;
&lt;p&gt;But I think we are putting the cart before the horse here. The DataGrid represents a VIEW of the data. The data you send down the wire is the MODEL of the data. In my mind the MODEL usually is not heavily dictated by the view technology, and yet here is a perfect example of that.&lt;/p&gt;
&lt;p&gt;On the other hand, if you are modelling your data on the application/web-service tier as objects, good on you. Great to see that that approach works well for you. Unfortunately, some people either cannot do that or don&amp;#39;t want to do that for reasons such as performance.&lt;/p&gt;
&lt;p&gt;I consider the lack of a DataSet/DataTable and the inability to programmatically populate the DataGrid as substantial omissions. DataBinding should be considered a feature of DataGrid, not it&amp;#39;s only method of operation, and even worse when the DataBinding capability forces you to use a very particular method of data representation in order to make it work.&lt;/p&gt;
&lt;p&gt;Now apparently LINQ-to-SQL can generate anonymous types (whatever they are called) on-the-fly in response to queries. But not everyone is using LINQ so if this is the only &amp;quot;convenient&amp;quot; way of making this happen then it&amp;#39;s clearly working against those (like myself) who need to implement things in other ways, perhaps to support an existing code-base.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll throw up one word here: Flexibility. The Silverlight way of doing things at present is not currently Flexible to the extent I would like it to be.&lt;/p&gt;
&lt;p&gt;Back to my original comment about ITypedList support, this is simply another area of inflexibility within Silverlight which forces you to either have first-class types or instantiate anonymous types in order to get a DataGrid to work, because it is incapable of working with a more generic structure. I don&amp;#39;t care if Microsoft don&amp;#39;t give me a DataSet or a DataTable - I can write those myself. But to then prevent me from being able to databind against that type of data structure, well then I&amp;#39;m pretty much just writing adapter code for no good reason.&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55209.aspx</link><pubDate>Sun, 25 May 2008 07:57:27 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55209</guid><dc:creator>samcov</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55209.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55209</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Bydia3:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;p&gt;2&amp;nbsp; Right, and not just flexibility and speed but to minimize the code that gets sent down to the client. &lt;/p&gt;
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Yes, code minimization is another benefit, you make a lot of good points.&lt;/p&gt;
&lt;p&gt;The bottom line is that while the current way the DataGrid works is elegant, but in the pursuit of elegance, we lost the simplicity of efficient design(IMO).&lt;/p&gt;
&lt;p&gt;I&amp;#39;m hopeful that we should get something that allows us to set the datagrid at the cell level, and then we can do any kind of binding we want.&lt;/p&gt;
&lt;p&gt;I doubt MS will want to bring datasets back, but cell level access will neatly solve the problem.&lt;/p&gt;
&lt;p&gt;Sam...&lt;/p&gt;
&lt;p&gt;P.S.&amp;nbsp; &lt;u&gt;We&amp;#39;re quickly running out of days left in May, so Beta 2 will have to be delivered next week(hopefully).&lt;/u&gt;&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55193.aspx</link><pubDate>Sun, 25 May 2008 01:13:09 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55193</guid><dc:creator>Bydia3</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55193.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55193</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Samcov:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1.It&amp;#39;s all in how you generate the classes&lt;/p&gt;
&lt;p&gt;2. The reason you want datasets(or weak typing), etc, is generally for flexibility and SPEED&lt;/p&gt;
&lt;p&gt;3 it uses as much reflection as we use for the object based solution to display it in a DataGrid&lt;/p&gt;
&lt;p&gt;4. I just have a mild disagreement about the reason.&lt;/p&gt;
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;1. Right, and we generate the classes quite well. &lt;/p&gt;
&lt;p&gt;2&amp;nbsp; Right, and not just flexibility and speed but to minimize the code that gets sent down to the client. If we want to display 1000 tables in a datagrid, we would like to just dataGrid.DataSource=dataset;dataGrid.DataMember=&amp;quot;table&amp;quot;; As it is now we must&amp;nbsp;code each table on the client, right?&amp;nbsp; Note: I am not suggesting 1000 table in one dataset, we may have&amp;nbsp;a database navigator type app. where selecting a table gets just that table from the server and displays it in a grid.&amp;nbsp;The data fields may&amp;nbsp;not be know until runtime.&lt;/p&gt;
&lt;p&gt;3. Let the reflection do the work, not us. If one compares the reflection of&amp;nbsp;1 dataset to 1 object based solution then yes, code may be the same, but how about 1000 tables. Creating objects for each one increases the code. This is not&amp;nbsp;a DRY (Do-not Repeat Yourself) solution, because we need to repeat code for each table and field.&lt;/p&gt;
&lt;p&gt;4. There are many other reasons, just giving some examples.&lt;/p&gt;
&lt;p&gt;We are thankful for&amp;nbsp;the JSON addition. Previously, we created an Xml packet, much like SOAP(but more flexible), that wrapped our datasets and parameters that we sent to and from our webservice. We have dropped it and now use JSON as it removes the need for many parameters on the webserve and the data sent/received is smaller in size too.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55152.aspx</link><pubDate>Sat, 24 May 2008 13:18:34 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55152</guid><dc:creator>sladapter</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55152.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55152</wfw:commentRss><description>&lt;p&gt;Samcov,&lt;/p&gt;&lt;p&gt;So we are in the same camp too. &lt;img src="http://silverlight.net/emoticons/emotion-1.gif" alt="Smile" /&gt;. I agree with what you said and we are also doing what you are doing. Actually we only have one Web Service call just like you what you have described. I was showing 3 just want to compare to the WCF calls &lt;a href="http://silverlight.net/members/justncase80.aspx" class="namelink"&gt;justncase80&lt;/a&gt; showed us.&amp;nbsp; Let&amp;#39;s hope Microsoft gets what we want.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55137.aspx</link><pubDate>Sat, 24 May 2008 07:17:09 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55137</guid><dc:creator>samcov</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55137.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55137</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;sladapter:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;p&gt;Bydia3, &lt;/p&gt;
&lt;p&gt;I&amp;#39;m totally with you. Finally I find someone think the same way as we do.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;Not so fast.&amp;nbsp; That&amp;#39;s not a good reason, because we have EXACTLY ONE Webservice that serves up ANY ORM object from the database, we don&amp;#39;t have to change one line of code, and we can do CRUD on it all day long.&amp;nbsp; It&amp;#39;s all in how you generate the classes, setup up the acchitecture, and the transport method(we use JSON on both client and server in SilverLight, EXACTLY the way we do in AJAX).&lt;/p&gt;
&lt;p&gt;The reason you want datasets(or weak typing), etc, is generally for flexibility and SPEED.&amp;nbsp; Reporting is the perfect example, and a solution exists for SilverLight(weakly typed JSON), but it uses as much reflection as we use for the object based solution to display it in a DataGrid.&lt;/p&gt;
&lt;p&gt;So while I&amp;#39;m in agreement with what you guys want, I just have a mild disagreement about the reason.&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55119.aspx</link><pubDate>Sat, 24 May 2008 01:29:23 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55119</guid><dc:creator>sladapter</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55119.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55119</wfw:commentRss><description>&lt;p&gt;Bydia3, &lt;/p&gt;&lt;p&gt;I&amp;#39;m totally with you. Finally I find someone think the same way as we do.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55116.aspx</link><pubDate>Sat, 24 May 2008 00:17:01 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55116</guid><dc:creator>Bydia3</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55116.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55116</wfw:commentRss><description>&lt;p&gt;--You can use compeltely strongly typed objects right in the webservice. How is a dataset even close to as good as this?--&lt;/p&gt;
&lt;p&gt;--OK, Here is my case: We simply can not pre-define a object with hard coded properties. --&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I agree with both these statements,&amp;nbsp;it is not strong typed datasets that some of us are after.&amp;nbsp; When&amp;nbsp;we get a UnTyped&amp;nbsp;dataset we&amp;nbsp;can also within the same Untyped dataset retrieve some meta data that&amp;nbsp;we can setup a dynamic forms. In this way, we can lower the amount of code we need to write and still make a generic data management system look likes it written specifically for the data in mind.&amp;nbsp; So how is a dataset even close to as good as strongly typed objects?&amp;nbsp; When the dataset is a UnTyped one and a 1000 webservices become 3 generic ones.&amp;nbsp; Our company created an (internal use)AJAX web site, back when MSXml 3 first came out. We wrote a one method webservice that all client data passed through. It sure save alot of coding. Hoping we an do&amp;nbsp;something similar with Silverlight 2&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55097.aspx</link><pubDate>Fri, 23 May 2008 21:48:41 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55097</guid><dc:creator>samcov</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55097.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55097</wfw:commentRss><description>&lt;p&gt;We use ORM, and what SilverLight offers works for most situations, but is inferior for some applications where being closer to the metal(database) is prefered.&amp;nbsp; These applications generally revolve around transforming data when SPEED is an issue.&lt;/p&gt;
&lt;p&gt;If you have a highly used reporting site, getting data to tables as fast as possible is what is needed.&amp;nbsp; &lt;strong&gt;Converting to Objects&amp;nbsp;is an unnecessary&lt;/strong&gt; &lt;strong&gt;step&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;It all depends on the application, however, if you close off access to other options, that generally results in problems.&lt;/p&gt;</description></item><item><title>Re: Silverlight 2.0 missing features</title><link>http://forums.silverlight.net/forums/thread/55054.aspx</link><pubDate>Fri, 23 May 2008 19:09:33 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:55054</guid><dc:creator>sladapter</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/55054.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=55054</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;justncase80:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;You can use compeltely strongly typed objects right in the webservice. How is a dataset even close to as good as this?&lt;/p&gt;&lt;p&gt;[WebMethod]&lt;/p&gt;&lt;p&gt;public MyComplexObject Get(int id)&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new MyComplexObject(); // do data access here&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;[WebMethod]&lt;/p&gt;&lt;p&gt;public void Update(MyComplexObject obj)&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; // do update here.&lt;br /&gt;} &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Then in code:&lt;/p&gt;&lt;p&gt;MyComplexObject obj = client.Get(100);&lt;/p&gt;&lt;p&gt;obj.SomeField = &amp;quot;new value&amp;quot;;&lt;/p&gt;&lt;p&gt;obj.NestedComplexObject.SomeNestedProperty = 10;&amp;nbsp;&lt;/p&gt;&lt;p&gt;client.Update(obj);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;You can even use partial classes to add members to these generated proxy objects. Or what would be even better is to create actual business objects and use these proxy classes as a DTO to load that more complex business object. How on earth is this not better in every way to a dataset?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;OK, Here is my case: We simply can not pre-define a object with hard coded properties. &lt;/p&gt;&lt;p&gt;Say we have a customer object which has a main DB table map to it. The customer could have some pre-defiend fields such as name, address, gender etc. But each Company who bought our product has different set of attributes to define their customer object and they can add attributes to the customer object and add fields to the Customer table as they like. So how can we use the Entity/Object model plus LinQ to achieve this. &lt;/p&gt;&lt;p&gt;Currently we use dynamcially generated SQL + DataSet + MetaData (the data to describe each object field such as mapped db field, field type, field control in UI etc) we can do everything. In our List pages we use DataGrid to display data. Each end user can chose which column to display from a list of all the possible columns for that object. User can define a filter based on each possible column as criteria. So we cannot pre-define a SQL or LinQ statement. They have to be generated dynamically. &lt;/p&gt;&lt;p&gt;The generic feature of DataSet is it&amp;#39;s advantage I do not see other technology provide. I like the elegant programming style of new Entity/Object Model/LinQ and I can see their usage. But currently they still can not do what we need to do.&lt;/p&gt;&lt;p&gt;We have more than 1000 tables in our data base, but we only need 3 Web Service functions to cover 90% of usage in our application.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[WebMethod]&lt;/p&gt;&lt;p&gt;public string GetData(Filter filter)&lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; //Calling our business object based on the BusinessObjectID and Filter Criteria in Filter object to get the Data back&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return DataSet.GetXml();&amp;nbsp; // return DataSet XML&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;[WebMethod]&lt;/p&gt;&lt;p&gt;public void Update(DataSet dt, BusinessObjectID ID )&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; // calling business object to do the data set update &lt;/p&gt;&lt;p&gt;&amp;nbsp; // business object knows how to build Update SQL based on the Meta Data for that object and Data in the DataSet&amp;nbsp; &lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;[WebMethod]&lt;/p&gt;
&lt;p&gt;public void Delete(BusinessObjectID, ID)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; // calling business object to do the delete&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>