Is it time for EF or maybe...
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
For the most part, I don't see the need for any of them. I've certainly never needed one. And I would expect that they are least suited to Web applications.
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
about to lunch into - reminds me to open my brown bag to see what's inside :yummy: ;)
Steve _________________ I C(++) therefore I am
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
We use NHibernate. Tried EF v1, but it didn't have a quarter of the features of even L2S, so we ditched it pretty early. Played with L2S, but disliked the class-per-table requirement (we're in an enterprise setting where new stuff + legacy stuff has to be integrated pretty tightly). So we settled on NHibernate, mostly because of ubiquity and community size. It doesn't take a whole lot of work to get it functional under a web app, but the whole mapping file process does take quite a bit to learn. We're on our third major project, and just now starting to really understand the nuances of mapping and how to get precisely the fit we need.
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
We use Ideablade Devforce Classic[^] for a business critical application and it really is an awesome product. If you make a change to the database, you can just re-run the Object Mapper tool and it regenerates your framework - without touching any of the code you have added yourself. Adding features to our application is really as simple as modifiying the database, running the Object Mapper and then accessing the new properties. I believe they have a free trial available, and it may also be free to use for personal use. Also, their CEO Ward Bell[^] is available on Twitter and he will gladly answer any questions you may have. Like I said, we use DevForce "Classic", which is a standalone product for .NET. Their new version DevForce "EF" is designed to sit on top of Microsofts framework and make it actually useful. There is also Devforce for Silverlight, but I haven't looked at that one.
The StartPage Randomizer - The Windows Cheerleader - Twitter
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
After having tried most of them, I have come to the conclusion that I am better off with stored procedures (of cours SP are also well suited with these ORMs) together with a home tailored data layer. The problems I have experienced are: *The time saved by using ORMs instead of writing your own layer, is in the long run near zero since you run into all kinds of issues with ORMs that needs tweeking *Performance issues caused by bloated object layer *Performance issues with generated SQL *Very, and I mean very, bad suitability with web apps (which is what I do) If I were doing a desk top app that needs data access, I would seriously consider using a ORM (preferably Project Castle´s ActiveRecords or SubSonic). For web development? Forget it. Too many headaches, and too much time spend on nothing - time that is better spend on writing SPs and a simple data access layer. Of course, this is all IMHO :)
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn Rand -
After having tried most of them, I have come to the conclusion that I am better off with stored procedures (of cours SP are also well suited with these ORMs) together with a home tailored data layer. The problems I have experienced are: *The time saved by using ORMs instead of writing your own layer, is in the long run near zero since you run into all kinds of issues with ORMs that needs tweeking *Performance issues caused by bloated object layer *Performance issues with generated SQL *Very, and I mean very, bad suitability with web apps (which is what I do) If I were doing a desk top app that needs data access, I would seriously consider using a ORM (preferably Project Castle´s ActiveRecords or SubSonic). For web development? Forget it. Too many headaches, and too much time spend on nothing - time that is better spend on writing SPs and a simple data access layer. Of course, this is all IMHO :)
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandWith respect to Devforce... *The time saved by using ORMs instead of writing your own layer, is in the long run near zero since you run into all kinds of issues with ORMs that needs tweeking DevForce allows you to regenerate the model at any time, with no changes to your own code at all. You simply modify the database to support your new functionality, re-run the object mapper and add code to access your new properties. *Performance issues caused by bloated object layer The object layer inherits from .NET DataRow, so there really isn't a bloated object layer. Sure, you can add all kinds of generated before-set and after-set handlers, but only if you really need them. *Performance issues with generated SQL You can bind entities to the result set from a stored procedure as well as perform "pass-thru" queries. These are queries that you write yourself to improve performance. *Very, and I mean very, bad suitability with web apps (which is what I do) We use it in a classic Winforms desktop app, but I can't see why it would be any more difficult to use it on a wep application. In fact, that is actually kind of the point - you have a single model, complete with business rules, data validation, logic etc that can be accessed by different ends of your business, so you have internal desktop apps using the exact same model as your customers on the web. Also, I would *never* try writing my own entity framework to match my database. It's way too much work, especially when you can just rebuild the entire model from your database in less than 30 seconds. Just my 2c.
The StartPage Randomizer - The Windows Cheerleader - Twitter
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
I've used EF for a Silverlight project with WCF backend, used by about 400 users (about 200 concurrent). Let me give you my findings so you can decide: 1. Don't link too many tables. If you find yourself linking too many tables use Stored Proc for the EF instead. For now EF is VERY inefficient and you won't be able to support too many concurrent users, not to mention performance will be quite slow. I have a Dual 2.6GHz AMD Opteron that barely supports 200 concurrent users. 2. Using EF within WCF does not help either as the serialization overhead can be a bit too much (Silverlight 3 might help as it accepts binary compression). 3. If you can, be selective on the columns you are returning. Again, this impacts performance especially coupled with WCF. 4. There are functions that LINQ to SQL supports but EF does not support, e.g. IsInRange - if you have an array of values and wanting to return rows where a column is within the array values. Best of luck, Ed
"A democracy is nothing more than mob rule, where fifty-one percent of the people may take away the rights of the other forty-nine." - Thomas Jefferson "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." - Benjamin Franklin Edbert Sydney, Australia
-
For the most part, I don't see the need for any of them. I've certainly never needed one. And I would expect that they are least suited to Web applications.
PIEBALDconsult wrote:
nd I would expect that they are least suited to Web applications.
I don't know about the others but CSLA is perfectly suited to asp.net or silverlight applications.
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
There have been some chatter here lately and I am about to lunch into some major development over the following couple of months. I am thinking of trying out EF new CTP: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Yes, I understand there might be some issues but by the first third of next year I would think most should be fixed with the release of VS 2010, but who knows.. Then there is Subsonic which I have not used yet: http://subsonicproject.com/[^] And today I read a post about CSLA (which is much more than involved): http://www.lhotka.net/cslanet/[^] And then there is NHibernate (which I have had no experience with but others seem to like): http://nhforge.org/[^] I am sure there are others as well. They work I will be doing is mostly ASP.NET Web Forms (possibly light if MVC works out for me), ASP.NET MVC (expecting to be heavy use), Silverlight and WPF. Any ideas? I have to learn something and get with it, just want to make sure there will be light at the end of the tunnel :) ANY help is GREATLY appreciated!
Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?
Rocky judging by the responses and your question I suspect few really understand what CSLA is or does. We use it and it's perfect for the right scenarios which are typically big data centric apps with lot's of forms where data is entered and retrieved and reported upon. I.E. business apps. (It does not generate any code for you)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
Rocky judging by the responses and your question I suspect few really understand what CSLA is or does. We use it and it's perfect for the right scenarios which are typically big data centric apps with lot's of forms where data is entered and retrieved and reported upon. I.E. business apps. (It does not generate any code for you)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
John C wrote:
...I suspect few really understand what CSLA is or does...
Yeah, i sure as hell don't have a clue. Opened the web page linked to, and fell asleep by the time i got to the fourth paragraph (the third seemed to indicate it might be some sort of general-purpose persistence library, but didn't really elaborate on that). I did notice the six book cover images where I might have expected to see code or a diagram or something. Edit: Ok, read the Wikipedia page*... So it's a "framework" in the true sense, a grab-bag of interdependent features useless by themselves but intended to guide the structure of custom code. Actual features are persistence, simple data structures, undo/redo, and simple rule / validation support. I suspect those that have been using it for years love it because it all works nicely together, while those that don't use it won't use it because it's useless unless you've designed and coded your app inside its structure from the start. *I got curious about what the initials stood for...
Last modified: 23mins after originally posted --
-
Rocky judging by the responses and your question I suspect few really understand what CSLA is or does. We use it and it's perfect for the right scenarios which are typically big data centric apps with lot's of forms where data is entered and retrieved and reported upon. I.E. business apps. (It does not generate any code for you)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
John C wrote:
perfect for the right scenarios
Isn't everything? :-D Are you learning to speak Marketing?
John C wrote:
I.E. business apps.
But he said "mostly ASP.NET Web Forms".
-
John C wrote:
perfect for the right scenarios
Isn't everything? :-D Are you learning to speak Marketing?
John C wrote:
I.E. business apps.
But he said "mostly ASP.NET Web Forms".
PIEBALDconsult wrote:
Isn't everything? Are you learning to speak Marketing?
Translation: It isn't a general purpose tool, it's a specific tool for a specific type of app, i.e. business apps.
PIEBALDconsult wrote:
But he said "mostly ASP.NET Web Forms".
And...your point being? There are a great many business apps consisting of Asp.net web forms, perhaps you weren't aware or perhaps I don't understand what you're getting at. Man the levels of sheer analness around here today are astounding. :) You guys would be a fun crowd at a party. ;)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
John C wrote:
...I suspect few really understand what CSLA is or does...
Yeah, i sure as hell don't have a clue. Opened the web page linked to, and fell asleep by the time i got to the fourth paragraph (the third seemed to indicate it might be some sort of general-purpose persistence library, but didn't really elaborate on that). I did notice the six book cover images where I might have expected to see code or a diagram or something. Edit: Ok, read the Wikipedia page*... So it's a "framework" in the true sense, a grab-bag of interdependent features useless by themselves but intended to guide the structure of custom code. Actual features are persistence, simple data structures, undo/redo, and simple rule / validation support. I suspect those that have been using it for years love it because it all works nicely together, while those that don't use it won't use it because it's useless unless you've designed and coded your app inside its structure from the start. *I got curious about what the initials stood for...
Last modified: 23mins after originally posted --
-
Rocky judging by the responses and your question I suspect few really understand what CSLA is or does. We use it and it's perfect for the right scenarios which are typically big data centric apps with lot's of forms where data is entered and retrieved and reported upon. I.E. business apps. (It does not generate any code for you)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
Are you still happy with CSLA John? I remember you mentioning it some time ago. I've used it for internal reporting and data-entry apps at two gigs in the past and found it solid and like anything not designed by me, a bit quirky :). I am just curious because I haven't had the chance to give it a run in at least two years.
And above all things, never think that you're not good enough yourself. A man should never think that. My belief is that in life people will take you at your own reckoning. --Isaac Asimov Avoid the crowd. Do your own thinking independently. Be the chess player, not the chess piece. --Ralph Charell
-
Are you still happy with CSLA John? I remember you mentioning it some time ago. I've used it for internal reporting and data-entry apps at two gigs in the past and found it solid and like anything not designed by me, a bit quirky :). I am just curious because I haven't had the chance to give it a run in at least two years.
And above all things, never think that you're not good enough yourself. A man should never think that. My belief is that in life people will take you at your own reckoning. --Isaac Asimov Avoid the crowd. Do your own thinking independently. Be the chess player, not the chess piece. --Ralph Charell
Yes very happy, it does what it's intended to do perfectly and it does all the plumbing in big apps so we can focus on the actual functionality related to the problem. It's very mature at this point, well thought out and since it's completely open you're not tied down to using it as it is, it's easily modified and we've done so extensively. I haven't found it quirky, just full of big concepts that you need to learn about to do that kind of work and in the end once you learn about them you find there's few better ways to accomplish it anyway. I think first and foremost it's a great learning tool even if someone were to go with some commercial alternative.
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
PIEBALDconsult wrote:
Isn't everything? Are you learning to speak Marketing?
Translation: It isn't a general purpose tool, it's a specific tool for a specific type of app, i.e. business apps.
PIEBALDconsult wrote:
But he said "mostly ASP.NET Web Forms".
And...your point being? There are a great many business apps consisting of Asp.net web forms, perhaps you weren't aware or perhaps I don't understand what you're getting at. Man the levels of sheer analness around here today are astounding. :) You guys would be a fun crowd at a party. ;)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
John C wrote:
great many business apps
But not many great? :-D I'm primarily anti-Web; I don't believe it's a proper tool for business applications.
John C wrote:
analness
No, pedantic. :-D
-
John C wrote:
great many business apps
But not many great? :-D I'm primarily anti-Web; I don't believe it's a proper tool for business applications.
John C wrote:
analness
No, pedantic. :-D
PIEBALDconsult wrote:
I'm primarily anti-Web; I don't believe it's a proper tool for business applications.
At heart so am I but for a great many businesses it's ideal due to the light workstation and support requirements. We hedge our bets and have a web and winform (and cellphone) interface for our app just to be on the safe side. One guy's doing pretty good making money hosting our web app for businesses that don't want to do anything but start working.
PIEBALDconsult wrote:
No, pedantic
Yeah, that's it! I'm getting brain dead from lack of sleep and too much work today, the first thing to go is my vocabulary. :) Cheers!
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
-
PIEBALDconsult wrote:
I'm primarily anti-Web; I don't believe it's a proper tool for business applications.
At heart so am I but for a great many businesses it's ideal due to the light workstation and support requirements. We hedge our bets and have a web and winform (and cellphone) interface for our app just to be on the safe side. One guy's doing pretty good making money hosting our web app for businesses that don't want to do anything but start working.
PIEBALDconsult wrote:
No, pedantic
Yeah, that's it! I'm getting brain dead from lack of sleep and too much work today, the first thing to go is my vocabulary. :) Cheers!
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
John C wrote:
light workstation and support requirements
That's what we had back with mainframe/minicomputers and dumb termini. I'm glad I'm keeping up-to-date on OpenVMS; it'll be back. Well, go get some rest; I'll read up on CSLA.
-
After having tried most of them, I have come to the conclusion that I am better off with stored procedures (of cours SP are also well suited with these ORMs) together with a home tailored data layer. The problems I have experienced are: *The time saved by using ORMs instead of writing your own layer, is in the long run near zero since you run into all kinds of issues with ORMs that needs tweeking *Performance issues caused by bloated object layer *Performance issues with generated SQL *Very, and I mean very, bad suitability with web apps (which is what I do) If I were doing a desk top app that needs data access, I would seriously consider using a ORM (preferably Project Castle´s ActiveRecords or SubSonic). For web development? Forget it. Too many headaches, and too much time spend on nothing - time that is better spend on writing SPs and a simple data access layer. Of course, this is all IMHO :)
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandRohde wrote:
For web development?
Not sure how the presentation layer technology affects the data access layer technology, as it is abstracted by the business layer... Or is there something I'm missing...
____________________________________________________________ Be brave little warrior, be VERY brave