Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Is it time for EF or maybe...

Is it time for EF or maybe...

Scheduled Pinned Locked Moved The Lounge
asp-netcsharpvisual-studiowpfcom
39 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Member 96

    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

    K Offline
    K Offline
    Kelly Wilkerson
    wrote on last edited by
    #30

    I agree with John. We use it for both WinForms and WebForms development and it works great. It does have a descent learning curve, but most frameworks that do what this one does have a fairly steep learning curve. I would definitely recommend it if your project size is medium to large. You should certainly get the book(s) and follow the active forum while you come up to speed. I have looked into some of the other offerings, but none match CSLA.NET. Rockford Lhotka did an incredible amount of work to limit the amount of work that developers using the framework must do in order to get a scalable, n-tier system up and running. Kelly.

    1 Reply Last reply
    0
    • R Rocky Moore

      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?

      P Offline
      P Offline
      Philip Brockmeyer
      wrote on last edited by
      #31

      My preference is to use NHibernate + Fluent NHibernate. There is a pretty steep learning curve, but the functionality, maturity, and community support is second to none. The important thing to keep in mind when using an ORM is that to get value out of it you should really be using a presentation pattern that separates business objects from presentation/view logic (Model-View-Controller, Model-View-Presenter, Supervising Controller, etc...). Given a separation of concerns using an ORM in a web application shouldn't give you any more grief than using an ORM in a desktop application. For NHibernate you'll have to keep the session factory in ASP session state, but there are articles on the internet available to help you out with this.

      1 Reply Last reply
      0
      • R Rocky Moore

        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?

        S Offline
        S Offline
        Shelby Robertson
        wrote on last edited by
        #32

        Schematrix sucks, stay away.

        Ennis Ray Lynch, Jr. wrote:

        Unpaid overtime is slavery.

        Trollslayer wrote:

        Meetings - where minutes are taken and hours are lost.

        1 Reply Last reply
        0
        • R Rocky Moore

          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?

          W Offline
          W Offline
          Ward R Bell
          wrote on last edited by
          #33

          Everything depends upon what you need to do. It doesn't sound like you have much ORM experience because you enumerated possibilities without opining on any of them. They are all "good" - including EF v.1. They differ in what they are best suited for (which, I hasten to add, is a combination of what you want to build AND the skills, experience and community of developers building it). Please give serious thought to your problem and your context *before* you get balled up in product comparisons. Your choice of client technology matters tremendously. Are you serious about writing in ASP.NET Forms, MVC, Silverlight, and WPF? Why? If I may be bold, it seems your business objectives are unclear to you. If a multitier solution (e.g., Silverlight) emerges *from your business analysis* as the best choice, then EF (v.1 or v.4) will seem especially attractive. The momentum and educational resources in Silverlight data-driven application space are more abundant around EF. Take a look at CSLA, the forthcoming RIA Services from Microsoft, and my company's DevForce (http://www.ideablade.com) to learn more about being productive with Silverlight business app development. P.s.: Remember that the production release of EF v.4 isn't expected until something like March of 2010. You can get going in v.1 now (it's much better than the wags tell you); your transition to v.4 won't be difficult (especially if you insulate yourself from direct application-to-persistence-machinery contact with something like a Repository pattern) ... and you'll be glad you didn't bleed on the knife's edge of beta technology. Ultimately, IMHO, Entity Framework will be the big dog among ORMs. There will simply be more people who know it, have experience with it, can be hired to it, etc. I think other ORMs are easier and more capable ... today ... but not by huge margins and they won't be able to sustain that lead for more than a year or two more.

          R 1 Reply Last reply
          0
          • W Ward R Bell

            Everything depends upon what you need to do. It doesn't sound like you have much ORM experience because you enumerated possibilities without opining on any of them. They are all "good" - including EF v.1. They differ in what they are best suited for (which, I hasten to add, is a combination of what you want to build AND the skills, experience and community of developers building it). Please give serious thought to your problem and your context *before* you get balled up in product comparisons. Your choice of client technology matters tremendously. Are you serious about writing in ASP.NET Forms, MVC, Silverlight, and WPF? Why? If I may be bold, it seems your business objectives are unclear to you. If a multitier solution (e.g., Silverlight) emerges *from your business analysis* as the best choice, then EF (v.1 or v.4) will seem especially attractive. The momentum and educational resources in Silverlight data-driven application space are more abundant around EF. Take a look at CSLA, the forthcoming RIA Services from Microsoft, and my company's DevForce (http://www.ideablade.com) to learn more about being productive with Silverlight business app development. P.s.: Remember that the production release of EF v.4 isn't expected until something like March of 2010. You can get going in v.1 now (it's much better than the wags tell you); your transition to v.4 won't be difficult (especially if you insulate yourself from direct application-to-persistence-machinery contact with something like a Repository pattern) ... and you'll be glad you didn't bleed on the knife's edge of beta technology. Ultimately, IMHO, Entity Framework will be the big dog among ORMs. There will simply be more people who know it, have experience with it, can be hired to it, etc. I think other ORMs are easier and more capable ... today ... but not by huge margins and they won't be able to sustain that lead for more than a year or two more.

            R Offline
            R Offline
            Rocky Moore
            wrote on last edited by
            #34

            Ward R. Bell wrote:

            Your choice of client technology matters tremendously. Are you serious about writing in ASP.NET Forms, MVC, Silverlight, and WPF? Why? If I may be bold, it seems your business objectives are unclear to you.

            Actually, it will be four data intensive web sites (some may have a Silverlight option for those packing Silverlight) most likely using ASP.NET MVC (unless some big issues come up) and then one possibly two small desktop apps (WPF) which might have a Silverlight version along with them. But things may change as winter rolls by :)

            Ward R. Bell wrote:

            Ultimately, IMHO, Entity Framework will be the big dog among ORMs

            Yeah, this is what I kind of figure, but with all the flap with many people on the different ORMs, I have wondered if there are any clear winners. I would hate to put a time investment in a technology to find they decide to discontinue it or worse just barely keep it updated a limping by without updating it to stay with the flow :)

            Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?

            1 Reply Last reply
            0
            • R realJSOP

              I didn't get any impression at all that CSLA was a ORM tool. Until I got to your post, I was afraid I'd missed something. We used nHibernate at my most recent job, and it was fine as long as your tables had keys, but if they didn't, you had to write your own SQL for your queries. The thing was that we needed the single-table queries far less than we needed to write our own queries. We were hitting a RDB database that was decades old (in terms of design), and not all of the tables had been modernized to have foreign keys, so it was kind of a pain in the butt. To add to the complexity, we threw WCF into the mix. nHibernate doesn't officially support WCF, so it took a month or so to iron out the problems. One of the biggest pains in our collective asses was that every time we added a new method to the nHibernate-generated class library, we had to delete the service reference from our project, re-build all of the sub-projects in a certain order, and then re-add the nHibernate service to the application project. This process added about 30 minutes to our get-latest process (when we retrieved new code from source controls), and sometimes, this happened two or three times a day.

              .45 ACP - because shooting twice is just silly
              -----
              "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
              -----
              "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001

              R Offline
              R Offline
              Rocky Moore
              wrote on last edited by
              #35

              John Simmons / outlaw programmer wrote:

              One of the biggest pains in our collective asses was that every time we added a new method to the nHibernate-generated class library, we had to delete the service reference from our project, re-build all of the sub-projects in a certain order, and then re-add the nHibernate service to the application project. This process added about 30 minutes to our get-latest process (when we retrieved new code from source controls), and sometimes, this happened two or three times a day.

              Ouch!

              Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?

              1 Reply Last reply
              0
              • R Rohde

                I have not yet used an ORM that plays nicely with web applications. The problem isn't the presentation technology per se, but the fact that web development is stateless which introduces a heap of problems with sessions, object tracking etc. For example, Entity Framework v1 was totally unusable with any form of disconnected scenarios (and thus web development). The same goes for L2S. You could shoe-horn these into a web development project, for example to use L2S in a disconnected scenario you could simply delete all entity relations and manage it all manually, but then what is the point?


                "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

                R Offline
                R Offline
                Rocky Moore
                wrote on last edited by
                #36

                Rohde wrote:

                For example, Entity Framework v1 was totally unusable with any form of disconnected scenarios (and thus web development). The same goes for L2S. You could shoe-horn these into a web development project, for example to use L2S in a disconnected scenario you could simply delete all entity relations and manage it all manually, but then what is the point?

                Actually, that is supposed to be handled better in the latest EF from the link I posted: http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx[^] Richer concurrency control support: Self-Tracking Entities now support the same variations for optimistic concurrency control as the Entity Framework. Original values are preserved for all required properties according to their concurrency mode in the Entity Data Model. And New and improved methods: AcceptChanges, StartTracking, StopTracking where added and the existing MarkAsX methods are now extension methods. I haven't played with them yet, but it I may be shortly ;)

                Rocky <>< Recent Blog Post: Win2008 Server without FrontPage Extensions, really?

                1 Reply Last reply
                0
                • R realJSOP

                  I didn't get any impression at all that CSLA was a ORM tool. Until I got to your post, I was afraid I'd missed something. We used nHibernate at my most recent job, and it was fine as long as your tables had keys, but if they didn't, you had to write your own SQL for your queries. The thing was that we needed the single-table queries far less than we needed to write our own queries. We were hitting a RDB database that was decades old (in terms of design), and not all of the tables had been modernized to have foreign keys, so it was kind of a pain in the butt. To add to the complexity, we threw WCF into the mix. nHibernate doesn't officially support WCF, so it took a month or so to iron out the problems. One of the biggest pains in our collective asses was that every time we added a new method to the nHibernate-generated class library, we had to delete the service reference from our project, re-build all of the sub-projects in a certain order, and then re-add the nHibernate service to the application project. This process added about 30 minutes to our get-latest process (when we retrieved new code from source controls), and sometimes, this happened two or three times a day.

                  .45 ACP - because shooting twice is just silly
                  -----
                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                  -----
                  "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001

                  K Offline
                  K Offline
                  Kevin McFarlane
                  wrote on last edited by
                  #37

                  John Simmons / outlaw programmer wrote:

                  I didn't get any impression at all that CSLA was a ORM tool

                  And your impression was right.

                  Kevin

                  1 Reply Last reply
                  0
                  • R Rocky Moore

                    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?

                    C Offline
                    C Offline
                    Craig G Wilson
                    wrote on last edited by
                    #38

                    Please don't choose CSLA. Especially for Web Apps. It touts a lot of features, most of which you will never use. It is fairly simple to get the features you need by hand without resorting to this framework that started as an example. Personally, I would advise the use of NHibernate. It is a fully mature product in use by a huge community. There is ample support and doesn't force your domain to use custom types. In other words, you can use POCO classes for persistence. Good Luck!!!

                    1 Reply Last reply
                    0
                    • M Member 96

                      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

                      G Offline
                      G Offline
                      gartnerj
                      wrote on last edited by
                      #39

                      Yeah, CSLA is NOT a replacement for EF -- it is a business object layer, and does not really correlate to nHibernate/EF, etc.. You would still want some sort of DAL layer in addition to CSLA.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups