I'm writing simple database driven application, 80% of functionality is CRUD operations on about 15 tables. Coming from web development background I figured I can cover almost all of these CRUD cases with Rails scaffolding or say Django admins. So I started to look around for Rails/Django-like framework but for Windows Forms applications (ofcourse I understand that "rich client" application development significantly differs from a web development and I'm not expecting anything really similar).
I was surprised that except for a variety of ORMs (let's call it Model-layer) it seems like I'm left with little choice when it comes to View-Controller layer. Maybe I'm missing something?
PS. I evaluated Visual Studio DataSet Designer, but it seems to work only for the most simple cases, and requires additional code for any slightly nontrivial task.
(added) so far I've found:
- TrueView for .NET (thanks to Vijay Patel)
- NConstruct
I would start to look at the Entity Framework if you can use .net3.5
Introducing the Entity Framework
How to: Bind Objects to Windows Form Controls (Entity Framework)
You could try DevExpress eXpressAppFramework. If I've understood you correctly it should do what you're looking for. It works with Winforms and ASP.NET and also has an accompanying ORM framework. There are some videos here that demonstrate the product. And there are forums here if you need to ask specific questions.
Did you check Rocket Framework for Windows Form
Everything is perfectly in order to support your requirement.
- This use Entity Framework as the back-end
- Use Object Data Source to Auto-Bind Object to UI
- Use Generic to minimize the amount of code you need to write
Additionally, the documentation also is very well done and architecture is pretty good and stable too..
I am using it right now and it is serving me pretty well
As far as I know MVC framework for Winforms don't exist. I've thought about it but I think it would just get too constricting no matter how hard you tried. The fact you're not tied to a single page in a browser just completely throws alot of standards out the window. According to your needs you can have a single MDI form that would be similar to the web and web ideologies would be applicable, or you could have an MDI form that could be filled with MDI forms and standard forms and they could need to talk to each other to make sure they're up to date, even in the background which isn't an issue in webforms.
At the same time threading becomes a huge issue as a half a second wait on the web is nothing while if a program freezes for even that long you have problems. There are even more approaches to threading than there are to the MDI/Form Design issue.
I've almost always lived in the WinForms world and I tend to start with a VERY generic MVC implementation and let it evolve as needed to meet the current needs. I've yet been able to apply an entire previous implementation in a greenfield project.
Shameless plug: You could try our TrueView for .NET framework.
It's based on Domain Driven Design and the Naked Objects pattern. It provides an auto-generated 'explorer' style UI at run-time (no code generation step), but you're free to override forms with your own implementations.
What is the API to the database you will be using? If it's a SOAP web service you could use the Microsoft Smart Client Factory at CodePlex. If it's a local SQL Server database you should consider Entity Framework.
来源:https://stackoverflow.com/questions/457365/is-there-any-framework-for-windows-forms-db-driven-application-development-prot