views:

565

answers:

4

I have been playing around with Dynamic Data but I find the filtering and navigation aspects basically useless for but the simplest scenarios, even in preview 4. I specifically want to be able to handle hierarchical self-reference tables when editing the data.

Does anyone know of an open source project / or cheap alternative framework to getting similar out of the box functionality?

UPDATE: Dynamic Data allows you to easily hook up a L2S or EF class very easily by setting the global.aspx to use that context. You get basic dynamic navigation and filtering with crud features for whatever tables you have linked in your DBML if your using L2S. I am wanting to use it as a back end management tool.

+3  A: 

Castle MonoRails :) For the closest asp.net Dynamic Data function like tool / framework or should I say it's the other way around since MonoRail was out before DD.

http://www.castleproject.org/monorail/

MonoRail was inspired by Ruby on Rails and that's what DD is inspired from.

EDIT:

I searched also and I don't know of any other DD like solutions out there that also support L2S / EF. In fact I didn't find any other DD like solutions for that matter besides MonoRail with ActiveRecord.

Castle MonoRail uses ActiveRecord which uses NHibernate. While NHibernate is not L2S or EF it is an ORM and in most opinion's (perhaps all) it is more mature at this point. Active Record's implementation does most of the heavy lifting for you from what I read so it will give you the best alternative to a DD like solution.

I think that's the closest you will get at this point if you don't want to use DD.

klabranche
Are you saying I get out of the box functionality like DD then? Seems like it is more like Asp.Net MVC framework than DD which are two different things?
Breadtruck
It is based on MVC instead of web forms but it using routing which is in MVC and webforms DD and templates for editing / listing data based on a generated data layer that you can influence / decorate to manipulate what occurs. L2S or L2Entities in DD and Active Record in MonoRail. I can't say how close DD and MonoRail is as I haven't directly used MR. I have read up on it and have heard from other's who had used it and they thought MR was much more flexible / mature.
klabranche
In all fairness, DD is not based on web forms or MVC. Just in it's current state 3.5 SP1 it used web forms as the template engine. There are samples out there that show how to use DD engine with asp.net MVC and 4.0 will include it with MVC also I think?
klabranche
@klabrache : What I was trying to say previously was that DD does not really translate to monorail, in and of itself, it is its own beast like I pointed out below. I have used many snippets from http://csharpbits.notaclue.net/ to make DD better, but certain things are just killing me. I just thought there might be something out there better, or more mature that basically does the same thing.
Breadtruck
So maybe I need clarification, is Monorail more like asp.net MVC or is it more like DD? I don't think you can compare MVC to DD whatsoever. (other than dynamic routing like you said) Functionally DD is taking a database mapping (L2S or L2E) and hooking that context up to your app and getting out of the box navigation and crud functionality of your database. Does monorail do that?
Breadtruck
Gotcha. Well, here's a shameless plug. Checkout this link below: It's a collection of links to people smarter than me that have helped me do some things with DD that have made me like it more.http://stackoverflow.com/questions/1269244/inside-info-on-dynamic-data/1269386#1269386The filtering is a bear at the moment and should be better in 4.0 but I also think I have seen some examples of ppl hacking this up also. Navigation can definitely be manipulated. Several blog posts in the above link have helped me control that better.
klabranche
Right on the MVC and DD. That's my point on the DD is not based on web forms or MVC. They are just the "technology" used along with DD. Monorail is like DD in this regard. Both are an inspiration of of Ruby on Rails. The idea is how can we "scaffold" our apps to get working faster. MVC and web forms are merely the presentation engine that the scaffolding engine then uses to display itself. MonoRail uses Active Record which is like L2S and L2E.
klabranche
I use the term "like" lightly as Active Record is definitely NOT L2S or L2E. AR is based on a design pattern and actually uses NHibernate. L2S, L2E, and NHibernate are ORMS but they go about it very differently and thus are their own beasts. So the short answer is I don't think you will find a DD look alike out there that uses L2S or L2E and web forms and, and, and.... There are other's out there but each will have their own learning curve.
klabranche
Hope this helps?
klabranche
I have seen some of the links that you have in that other post but I will definitely take a look at Shoemakers blog. So just to clarify one comment you made, "What are the others out there that have their own learning curve", are we talking non .Net or do you think monorail is worth pursuing over DD knowing what I am after?
Breadtruck
First let me apologize in my zealousness on my second post, I stated that I had heard from other's who had used MR. I talked to one person in particular about it (outside where I work) who suggested MR as something to look at. They had not necessarily used MR (at least they didn't specifiy they had). I apologize for overstating / lying if you will on that.
klabranche
I only know of MonoRail as the only "like" framework for scaffolding in .Net like DD. I wouldn't be surprised if there are others but I am not aware of them. My statement about the learning curve is a general statement. I found when I first was looking at MR I was overwhelmed with what seemed like all I would have to learn including for example NHibernate as the ORM that it used. No different in general as I had to learn and still am learning L2S which is what I used when I started using DD. Both DD and MR are going to have a decent learning curve to use in the "real world".
klabranche
I haven't actually used MR yet but would like to. Without real experience I can't say if it's worth it but my hunch is that it is.
klabranche
Thanks for the clarification. On a side note, even though you commented 11 hours I still haven't seen anything in my messages. I just came back just in case and you had responded. Something must be off with SO and commenting.
Breadtruck
Hmm... interesting. It let me know you commented. Weird.
klabranche
A: 

Tree-like self-referencing tables are difficult to handle no matter what.

If you're looking for an ORM, I highly recommend LLBLGen. If you're looking for a 'framework' I would say to you: ASP.NET is a framework :) Use it appropriately, and life is quite good.

Noon Silk
Dynamic Data is kind of beast of its own isn't it? I mean I can create a L2S dbml, set the global.aspx to use that context and I get basic navigation and crud features. I am wanting to use it as a back end management tool.
Breadtruck
Ah; okay, I will admit I've never actually used it. Perhaps the other posters' comment is more useful.
Noon Silk
A: 

SubSonic 3.0 has Scaffolding for ASP.Net, but I am not sure about it scope regarding filtering and sorting...

Nicolas Irisarri
Isn't subsonic more of scaffolding / templating your database but doesn't really have a dynamic interface for inserting,updating, and deleting?
Breadtruck
It seems so. more digging led me to this article: http://blog.wekeroad.com/subsonic/subsonic-mvc-scaffold-addin/ where Rob Connery adds a plugin for MVC scaffolding to SubSonic
Nicolas Irisarri
So are you agreeing with what I am saying then?
Breadtruck
I continued investigating, and fount this old article (2007) where the writer uses a scaffold control to add siomple editing capabilities to the s8ubsonic project. And the control seems to be integrated on Subsnic. It does not generate code as RoR Scaffolding can, but it will give sou basic fediting features on your project.. In other words, yes, it can do scaffolding but AFAIK is very limited. Check the article at http://dotnetslackers.com/articles/aspnet/IntroductionToSubSonic.aspx, near figure 5
Nicolas Irisarri
A: 

Tree-like self-referencing tables are difficult to handle no matter what. It gets even worth when you can have graphs, e.g. a node can have more then one parent. Then you have to think about if you can have cycles.

I therefore think you need a custom FieldTemplates, or custom PageTemplates.

So you could use a custom control for the Tree-like self-referencing relationships but use standard Dynamic Data to generate forms for all the simple fields. Or have a "hand written" page to edit the tree, then link to Dynamic Data to edit the simple fields on each node.

Sorry, I don’t think you will have a "off the shelf solution" solution, as the UI you need is no dependant on your application domain.

Ian Ringrose
@ian: basically I was just curious if there was something out there, that was more mature than DD, so I wouldn't have to do a bunch of modifications. I just don't have any time to screw around with all the little nuances and screwy things that DD does like http://forums.asp.net/t/1455367.aspx
Breadtruck
@ian: I also find it interesting that in certain regards DD handles the self-referencing table correctly within the generated grids, just not the filtering. See this for more info on what I mean http://forums.asp.net/t/1455375.aspx
Breadtruck