Wednesday, November 11, 2009 9:22 AM plblum

What do you think of ASP.NET Dynamic Data?

I have been heavily invested in ASP.NET Dynamic Data since pre Beta 1 of ASP.NET 3.5 SP1. To me, this technology is significant and clever, although with its flaws. (My products DES Dynamic Data and Versatile DataSources are intended to address those flaws.)

My impression is that there is a poor adoption rate for ASP.NET Dynamic Data, and I want to better understand why. Please take a moment and post a comment on these questions.

1. Have you used ASP.NET Dynamic Data?

2. What do you like about it?

3. What do you dislike about it?

4. If you have evaluated it but not used it, why?

Your answers may help both the ASP.NET team and myself as we attempt to improve both the technology and user education.

Filed under: ,

Comments

# re: What do you think of ASP.NET Dynamic Data?

Wednesday, November 11, 2009 11:48 AM by zoldello

1. Have you used ASP.NET Dynamic Data?

No, ASP.NET Web forms and LINQ does what I need.

2. What do you like about it?

I like data-drive implied in it's name.

3. What do you dislike about it?

Web Forms does what I need.  It took me a lot to learn the basics and it is taking me even more to become good at it; because ASP.NET is huge API. I  have little time to explore anything that I do not clearly sense will make work easier; even though  may require fewer lines of code then what I already use. I need something more before I adopt yet another new API.

4. If you have evaluated it but not used it, why?

I just reviewed a few articles. I see it like ASP.NET MVC. Web form does the trick and those Microsoft guy are burning energy on making different things that all have the same end results. We reached the pinnacle of what we will get out of languages like C# and Java and need a new language paradigm. Consider, .NET reached its peak at 2.0; everything else is just more sugar in the coffee. After a point either you get a new cup of coffe  or you will end up having more sugar than actual coffee in the current cup.  

[Peter's feedback] Thanks! It's taken me a while to really appreciate DD. In my current mindset, it does two things to help you: 1) separates the business logic from the web form so you can manage it easier 2) creates elements of the web form for you using ordinary webcontrols like textboxes and validators, by following the rules from your business logic. I think this has nothing to do with .net reaching its peak in 2.0. Its more about applying a methodology to building web forms using separation of concerns.

# re: What do you think of ASP.NET Dynamic Data?

Wednesday, November 11, 2009 12:16 PM by Mike

1) Yes I have used Dynamic Data before

2) Super fast to create basic CRUD functions. My first use of it was for an internal project for a one employee.  Didn't have time to build out a true admin interface, but in minutes Dynamic Data had built a website to do this.

3) Not sure how I would use this outside of small internal type projects. None of our client projects would really benefit from this.

[Peter's feedback] Your impressions are similar to what I've heard from others (including my MVP peers). Since building the POCODataSource control in Versatile DataSources, I am now of the philosophy that Dynamic Data can be used to build almost any data entry web form, not just those that handle CRUD. To relate to this, you need to have a new appreciation for DD, not as a quick CRUD app builder, but as a technology to separate business logic from the web forms. That concept can be applied almost everywhere.

# re: What do you think of ASP.NET Dynamic Data?

Wednesday, November 11, 2009 12:18 PM by montyray

1. I have used it in anticipation with using it for a 'easy' admin/back-end site.

2. I liked how quickly I could create the basic CRUD actions. I demoed it to a co-worker and had something up and running in under 2 minutes.

3. The confusion of how/where to add business logic. What if I wanted to add security to the page? What about an audit trail?  These may be covered elsewhere, but in the short time I looked I didn't find anything that jumped out at me.

4. I ended up not implementing it as the admin site, since I needed more customization and couldn't spend the time to learn how to add it in DD.

If I had one suggestion, it would be more 'real life' tutorials. I read a lot about how much this technology could be extended and customized, but saw no real guide on how? Perhaps something like I was looking for (how to extend functionality) would help? (I also had a big problem with non-primary foreign key relationships showing up wrong, but I think that might have been LINQ-to-SQL)

All-in-all, I like the idea, but just don't know how or where to use it correctly...

[Peter's Feedback] It appears that new tutorials are on there way. See http://blogs.msdn.com/morebits/archive/2009/10/13/asp-net-dynamic-data-overview.aspx  

In response to your comments in #3, there are two places for adding business logic.

1) In the Entity class itself (like the Product class), although if you are using LINQ to SQL and Entity Framework, you have to relocate that to a second class designed to host metadata, because L2S and EF overwrite the original Entity classes when you modify the database.

2) query statements are currently delegated to the LinqDataSource and EntityDataSource, which is in no way providing a separation of concerns between UI and business logic. With the introduction of DomainDataSource (from RIA Services) and my EntityDAODataSource control (in Versatile DataSources), you are expected to add your queries to a Data Access Object. DomainDataSource uses 1 "Domain class" for all tables. EntityDAODataSource uses separate Data Access Object classes for each table.

Security on the page certainly is lacking in the ASP.NET 4 codebase. I am addressing that in the next service release of my DES Dynamic Data product. Stephen Naughton's blog also offers a solution. http://csharpbits.notaclue.net/

Audit trails depend on what you are tracking, but probably are handled in the business logic, not in the web form code.

# re: What do you think of ASP.NET Dynamic Data?

Wednesday, November 11, 2009 12:59 PM by Dave Russell

1. Yes, used it as part of a fully-fledged asp.net webforms app in an Enterprise environment.

2. TEMPLATING!  We have frickin' employee id's and postcodes everywhere.  Now all I have to do to get proper validation on them wherever they are is assign an attribute to my class property. Oh, and the auto-generated CRUD app is good too.

3. Some of the attributes need some more work - length validation for example.  Why do I have to specify a MAX length if I specify a MIN ? Can't the MAX be pulled from the model?

[Peter's feedback] I would love to hear your list of issues. Email me plblum@peterblum.com. (I will also be happy to forward it to the ASP.NET Dynamic Data team.) 

# re: What do you think of ASP.NET Dynamic Data?

Wednesday, November 11, 2009 12:59 PM by Gregor Suttie

1. Have you used ASP.NET Dynamic Data?

Yes,  although not the current version.

2. What do you like about it?

Seems to be very useful if you need ot build somethign quickly.

3. What do you dislike about it?

Doesnt seem to get much press - not too many people pushing the name and what it can do.

4. If you have evaluated it but not used it, why?

It looked like it would be useful for demo only purposes as with a lot of things it looked to have some flaws and therefore hard to sell to the mainstream.

[Peter's feedback] One of my goals is to learn what users consider are those flaws. Would you care to post a more extensive list or to email them to me (plblum@peterblum.com). I'll make sure the ASP.NET Dynamic Data team also sees them.

# Twitter Trackbacks for What do you think of ASP.NET Dynamic Data? - "Peter and the case of the ASP.NET developer" [asp.net] on Topsy.com

Pingback from  Twitter Trackbacks for                 What do you think of ASP.NET Dynamic Data? - "Peter and the case of the ASP.NET developer"         [asp.net]        on Topsy.com

# re: What do you think of ASP.NET Dynamic Data?

Thursday, November 12, 2009 12:56 PM by FreshFrince

4. If you have evaluated it but not used it, why?

 Evaluated it about 6 months back, but decided not to use it.

 Most of our products use Oracle for the backend.  We started moving toward Nhibernate (Fluent) to handle data access.  All of our searching for a DD implementation with Nhibernate only lead to convoluted "hack" solutions.

 What we were most interested in was the CRUD automation.  In fact, we rolled our own version to meet our basic needs and have enhanced it along the way as our needs have grown.  We took a convention over configuration approach and a very similar approach to FluentNh.

# re: What do you think of ASP.NET Dynamic Data?

Friday, November 13, 2009 3:54 AM by Nathan

1.  Yes and using it more all the time

2.  Speed to create a functioning site, ability to customise it easily

3. Amount of view state, would love to be able to turn it off.

  Need to create meta classes, would like a mechanism to enable definition of meta data without having to create a class (yes I know I can code it myself but would be nice out of the box)

 Looking forward to .Net 4 and the ability to simply tag a control to use dynamic data rather than having to create a specific project.

[Peter's comments] ViewState is not a DD specific issue. Its general to ASP.NET web form development. ASP.NET 4 gives you a lot more control of it: http://weblogs.asp.net/despos/archive/2009/06/13/asp-net-4-0-more-control-on-viewstate-management.aspx. My own web control product reduces the ViewState using a per property opt-in approach.

When you say "a mechanism to enable definition of meta data without having to create a class", do you mean the EnableDynamicData() method? The EnableDynamicData() method sniffs out the business logic from a POCO class on demand. You can also use SimpleDynamicDataSource from a recent DD Futures build or my POCODataSource. Yet, I personally like the idea of creating a class or some kind of way to bind business logic to the data.

# re: What do you think of ASP.NET Dynamic Data?

Friday, November 13, 2009 8:37 AM by Craig

1. Have you used ASP.NET Dynamic Data?

Yes.  I created views of an existing database, added a few filter dropdowns and slapped an export to Excel function on it. (I also disabled the editing functions.)

2. What do you like about it?

Nice way to open up direct data access to users who need to review data but aren't allowed to connect to the database itself.

3. What do you dislike about it?

Well, frankly, the customization capability. Most of my users aren't allowed direct data modification rights, plus there are rules to go through to do data entry.  It really requires form-style most of the time, grid style just isn't adequate, except to search/select an item which then goes to form view for edit.  I can use it for some _R_D, but not for C_U_.  That being the case, I pretty much can't use it the way it is intended.

[Peter's comments] I agree with you. I've been working on improving the customization capability with my DES Dynamic Data. There's still plenty more for me to do. I'm a believer that most public facing sites will use the FormView and ListView instead of DetailsView and GridView. I don't see it as a disadvantage when you need control over the appearance of the page.

# re: What do you think of ASP.NET Dynamic Data?

Sunday, November 15, 2009 11:10 AM by markm

1. Have you used ASP.NET Dynamic Data?

Just played with it briefly.

2. What do you like about it?

Straightforward – appreciated its template based approach.

3. What do you dislike about it?

The UI appeared to me to be a little too tightly coupled with the database.  

4. If you have evaluated it but not used it, why?

We are currently using and are very happy with LLBLGen Pro v2.6 by Solutions Design. This framework manages concurrency, data validation, converses in native LINQ among a host of other things. With LLBLGen comes an extensible data generator which we use to build our data-layer and business layer at data-structure change time.

[Peter's feedback] Dynamic Data compliments LLBLGen as DD is an interface builder that feeds from the data described in the LLBLGen Entity classes. In fact, LLBLGen has built DD support classes for v2.6. http://www.llblgen.com/pages/downloads.aspx

# re: What do you think of ASP.NET Dynamic Data?

Sunday, November 15, 2009 6:33 PM by david poirier

1. Have you used ASP.NET Dynamic Data?

Using it to put together a proof-of-concept demo for an internal enterprise application.

2. What do you like about it?

SoC, at least at validation level. Not having to write, read, and validate inputs over and over again. Integrates beautifully with Entity Framework.

3. What do you dislike about it?

The documentation is very thin. The samples are minimal and fragmented. I keep losing track of what's in DD1, DD Futures, and DD2.

What I would love to see is a comprehensive reference implementation, integrating all of the examples and covering off the harder stuff like security. MS used to do stuff like this, but it seems to have fallen by the wayside with DD and MVC, leaving people at a loss for how to use them in large apps. Creating a reference app will probably also help MS to flesh out the feature set, instead of adding important stuff post-hoc in "futures" releases.

[Peter's comments] I feel much the same, but I'm the guy who's documentation for my extensions to Dynamic Data is now nearly 1000 pages! In any case, you may appreciate this: http://blogs.msdn.com/morebits/archive/2009/10/13/asp-net-dynamic-data-overview.aspx  

# What Dynamic Data REALLY is

Monday, November 16, 2009 3:03 PM by Community Blogs

In my recent posting “ What do you think of Dynamic Data? ”, users have offered many views on what ASP

# Is building apps with Dynamic Data faster?

Tuesday, November 17, 2009 11:28 AM by "Peter and the case of the ASP.NET developer"

According to users comments in my recent posting “ What do you think of Dynamic Data? ”, they were under

# Is building apps with Dynamic Data faster? | I love .NET!

Tuesday, November 17, 2009 12:43 PM by Is building apps with Dynamic Data faster? | I love .NET!

Pingback from  Is building apps with Dynamic Data faster? | I love .NET!

# re: What do you think of ASP.NET Dynamic Data?

Thursday, November 26, 2009 3:48 AM by leomattel

Is there a way to embed DD as a WebPart? If so, how?

[Peter's comments] I recommend posting this to the Dynamic Data forum at www.asp.net's forums.

# re: What do you think of ASP.NET Dynamic Data?

Thursday, November 26, 2009 3:53 AM by leomattel

I am looking at DD as below is going over my head...

" ... we have a n-tier application where in the DAL is exposed via service, how do I get to have the ObjectContext travel from the service to the ASP.NET layer. I currently use the DomainDataSource at the Service layer ... I am not able to get hands on the Entity at UI layer to be connected the Grid or a QueryExtender..."

Is there a way I could get the Data tansferred referenced by EF to the upper most ASP page, run it through the DD inside a webpart?

[Peter's comments] I'm not sure that I have the answer. Always look into the relevant forums at www.asp.net and msdn.microsoft.com. In the case of DomainDataSource, you are looking into a prerelease of "RIA Services".

Here's an educated guess on how to use DomainDataSource to connect through a web service. You presently have an ObjectContext subclass talking to EF. That will handle the server side of this web service. Create a second ObjectContext subclass with the same methods, which call the original one's methods through web services. Use that new ObjectContext with your DomainDataSource.

Leave a Comment

(required) 
(required) 
(optional)
(required)