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. Contrary to popular opinion I really like MEF

Contrary to popular opinion I really like MEF

Scheduled Pinned Locked Moved The Lounge
csharpdatabasequestionannouncement
18 Posts 8 Posters 1 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.
  • R Offline
    R Offline
    Rohde
    wrote on last edited by
    #1

    I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


    "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

    W L D E D 6 Replies Last reply
    0
    • R Rohde

      I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


      "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

      W Offline
      W Offline
      wout de zeeuw
      wrote on last edited by
      #2

      Let us know when you migrated the whole thing to linq, I'm curious about how it turns out! Will the performance drop and peculiarities be worth the productivity gain? Normally I'd be inclined just to pick the technology resulting in the best user experience, so if ado.net is that much faster, then to me the programmer experience has lower priority. EDIT: it's post like these that give me the impression that Linq to Entities and Linq to SQL (already obsoleted) were rushed out and not production level yet: http://blogs.msdn.com/adonet/archive/2008/12/02/migrating-from-linq-to-sql-to-the-entity-framework-stored-procedures-for-data-retrieval.aspx[^]. I'm gonna stay clear from all of it until .NET 4.0 at least.

      Wout

      modified on Thursday, February 12, 2009 6:27 AM

      R 1 Reply Last reply
      0
      • R Rohde

        I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


        "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

        L Offline
        L Offline
        leppie
        wrote on last edited by
        #3

        Linq2SQL already does that well, without all the fluff :)

        xacc.ide - now with TabsToSpaces support
        IronScheme - 1.0 beta 2 - out now!
        ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

        realJSOPR R 2 Replies Last reply
        0
        • L leppie

          Linq2SQL already does that well, without all the fluff :)

          xacc.ide - now with TabsToSpaces support
          IronScheme - 1.0 beta 2 - out now!
          ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

          realJSOPR Offline
          realJSOPR Offline
          realJSOP
          wrote on last edited by
          #4

          Yeah, but Microsoft likes to abandon decent (and widely used) technologies. Take unmanaged C++ for instance...

          "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." - Jason Jystad, 10/26/2001

          L 1 Reply Last reply
          0
          • realJSOPR realJSOP

            Yeah, but Microsoft likes to abandon decent (and widely used) technologies. Take unmanaged C++ for instance...

            "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." - Jason Jystad, 10/26/2001

            L Offline
            L Offline
            leppie
            wrote on last edited by
            #5

            John Simmons / outlaw programmer wrote:

            Take unmanaged C++ for instance...

            Unless the standards body updates the C++ spec (which seems they are doing), what is the point of updating the C++ compiler (bar bug fixes)? I'm sure you could probably still write programs for Vista in MS VC6. You try writing a .NET 3.5 program with VS2002 :)

            xacc.ide - now with TabsToSpaces support
            IronScheme - 1.0 beta 2 - out now!
            ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

            realJSOPR 1 Reply Last reply
            0
            • R Rohde

              I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


              "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

              D Offline
              D Offline
              Daniel Grunwald
              wrote on last edited by
              #6

              You realize "MEF" stands for the Managed Extensibility Framework[^]?

              R 1 Reply Last reply
              0
              • L leppie

                John Simmons / outlaw programmer wrote:

                Take unmanaged C++ for instance...

                Unless the standards body updates the C++ spec (which seems they are doing), what is the point of updating the C++ compiler (bar bug fixes)? I'm sure you could probably still write programs for Vista in MS VC6. You try writing a .NET 3.5 program with VS2002 :)

                xacc.ide - now with TabsToSpaces support
                IronScheme - 1.0 beta 2 - out now!
                ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                realJSOPR Offline
                realJSOPR Offline
                realJSOP
                wrote on last edited by
                #7

                I don't think you are grasping what I'm saying. MS has all but abandoned unmanaged C++ despite promise after promise of strengthening the IDE in that genre. Truth be told, they have no intent on doing anything to further support the language. At least with Linq, they've admitted up front that there is no future in it.

                "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." - Jason Jystad, 10/26/2001

                1 Reply Last reply
                0
                • R Rohde

                  I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


                  "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

                  E Offline
                  E Offline
                  Ennis Ray Lynch Jr
                  wrote on last edited by
                  #8

                  By the time you are almost finished and spend 90% of your time on the 10% Microsoft will have dropped support and moved to something else. Personally, I have never minded writing SQL. You can do some pretty good stuff with it, fast.

                  Need custom software developed? I do C# development and consulting all over the United States.
                  If you don't ask questions the answers won't stand in your way.
                  Doing a job is like selecting a mule, you can't choose just the front half xor the back half so when you ask me to do a job don't expect me to do it half-assed.

                  L R 2 Replies Last reply
                  0
                  • E Ennis Ray Lynch Jr

                    By the time you are almost finished and spend 90% of your time on the 10% Microsoft will have dropped support and moved to something else. Personally, I have never minded writing SQL. You can do some pretty good stuff with it, fast.

                    Need custom software developed? I do C# development and consulting all over the United States.
                    If you don't ask questions the answers won't stand in your way.
                    Doing a job is like selecting a mule, you can't choose just the front half xor the back half so when you ask me to do a job don't expect me to do it half-assed.

                    L Offline
                    L Offline
                    leppie
                    wrote on last edited by
                    #9

                    Ennis Ray Lynch, Jr. wrote:

                    Personally, I have never minded writing SQL. You can do some pretty good stuff with it, fast.

                    How fast when the 'DBA' changes the DB schema on a daily basis? Linq2SQL is a godsend for this...

                    xacc.ide - now with TabsToSpaces support
                    IronScheme - 1.0 beta 2 - out now!
                    ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                    E 1 Reply Last reply
                    0
                    • L leppie

                      Ennis Ray Lynch, Jr. wrote:

                      Personally, I have never minded writing SQL. You can do some pretty good stuff with it, fast.

                      How fast when the 'DBA' changes the DB schema on a daily basis? Linq2SQL is a godsend for this...

                      xacc.ide - now with TabsToSpaces support
                      IronScheme - 1.0 beta 2 - out now!
                      ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                      E Offline
                      E Offline
                      Ennis Ray Lynch Jr
                      wrote on last edited by
                      #10

                      You can't build a bridge if God changes the river everyday either. While I don't mean to compare DBA's to God I do mean to say that poor change control dooms projects to failure. Linq2SQL and those other regenerative tools are great for companies that want to change what they want daily and never really get to a useful result. If the schema changes you must constantly chase down business rule changes and if your application does not use business rules and complicated logic there is no reason to even have code, use Access and Crystal and save millions. (I don't mean to say you, leppie, but you reader)

                      Need custom software developed? I do C# development and consulting all over the United States.
                      If you don't ask questions the answers won't stand in your way.
                      Doing a job is like selecting a mule, you can't choose just the front half xor the back half so when you ask me to do a job don't expect me to do it half-assed.

                      L 1 Reply Last reply
                      0
                      • E Ennis Ray Lynch Jr

                        You can't build a bridge if God changes the river everyday either. While I don't mean to compare DBA's to God I do mean to say that poor change control dooms projects to failure. Linq2SQL and those other regenerative tools are great for companies that want to change what they want daily and never really get to a useful result. If the schema changes you must constantly chase down business rule changes and if your application does not use business rules and complicated logic there is no reason to even have code, use Access and Crystal and save millions. (I don't mean to say you, leppie, but you reader)

                        Need custom software developed? I do C# development and consulting all over the United States.
                        If you don't ask questions the answers won't stand in your way.
                        Doing a job is like selecting a mule, you can't choose just the front half xor the back half so when you ask me to do a job don't expect me to do it half-assed.

                        L Offline
                        L Offline
                        leppie
                        wrote on last edited by
                        #11

                        Ennis Ray Lynch, Jr. wrote:

                        I don't mean to say you, leppie

                        I know :) I would never tell anyone about it, if I did such silly things. ;P

                        xacc.ide - now with TabsToSpaces support
                        IronScheme - 1.0 beta 2 - out now!
                        ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                        1 Reply Last reply
                        0
                        • R Rohde

                          I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


                          "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

                          D Offline
                          D Offline
                          Douglas Troy
                          wrote on last edited by
                          #12

                          I've not played with MEF, we use NHibernate, and I have to say that, now having used it enough and gaining a far better understanding of it's power, I've grown to like it. There is a considerable amount of power and flexibility in it, and you can roll your entire DAL in very short order.

                          R 1 Reply Last reply
                          0
                          • W wout de zeeuw

                            Let us know when you migrated the whole thing to linq, I'm curious about how it turns out! Will the performance drop and peculiarities be worth the productivity gain? Normally I'd be inclined just to pick the technology resulting in the best user experience, so if ado.net is that much faster, then to me the programmer experience has lower priority. EDIT: it's post like these that give me the impression that Linq to Entities and Linq to SQL (already obsoleted) were rushed out and not production level yet: http://blogs.msdn.com/adonet/archive/2008/12/02/migrating-from-linq-to-sql-to-the-entity-framework-stored-procedures-for-data-retrieval.aspx[^]. I'm gonna stay clear from all of it until .NET 4.0 at least.

                            Wout

                            modified on Thursday, February 12, 2009 6:27 AM

                            R Offline
                            R Offline
                            Rohde
                            wrote on last edited by
                            #13

                            Yes it does have its issues - but overall I'm pleased so far. But then we don't have any stored procedures on this project so that makes it a bit easier. The problems I do have tho' are the following: 1. I can't see how it can work in a team situation with source control 2. The designer is crap. It really is.


                            "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

                            1 Reply Last reply
                            0
                            • L leppie

                              Linq2SQL already does that well, without all the fluff :)

                              xacc.ide - now with TabsToSpaces support
                              IronScheme - 1.0 beta 2 - out now!
                              ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

                              R Offline
                              R Offline
                              Rohde
                              wrote on last edited by
                              #14

                              Well I wouldn't feel too safe building a project on an abandoned technology :):) (here I am crossing my fingers that they don't discontinue EF next year :))


                              "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

                              1 Reply Last reply
                              0
                              • D Daniel Grunwald

                                You realize "MEF" stands for the Managed Extensibility Framework[^]?

                                R Offline
                                R Offline
                                Rohde
                                wrote on last edited by
                                #15

                                No I did not. Was my post unclear? I meant the Entity Framework.


                                "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

                                1 Reply Last reply
                                0
                                • E Ennis Ray Lynch Jr

                                  By the time you are almost finished and spend 90% of your time on the 10% Microsoft will have dropped support and moved to something else. Personally, I have never minded writing SQL. You can do some pretty good stuff with it, fast.

                                  Need custom software developed? I do C# development and consulting all over the United States.
                                  If you don't ask questions the answers won't stand in your way.
                                  Doing a job is like selecting a mule, you can't choose just the front half xor the back half so when you ask me to do a job don't expect me to do it half-assed.

                                  R Offline
                                  R Offline
                                  Rohde
                                  wrote on last edited by
                                  #16

                                  I don't mind writing SQL per se. But I do feel much more productive with LINQ. And I'm tired of writing boilerplate DAL code. But each to his own :):)


                                  "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

                                  1 Reply Last reply
                                  0
                                  • D Douglas Troy

                                    I've not played with MEF, we use NHibernate, and I have to say that, now having used it enough and gaining a far better understanding of it's power, I've grown to like it. There is a considerable amount of power and flexibility in it, and you can roll your entire DAL in very short order.

                                    R Offline
                                    R Offline
                                    Rohde
                                    wrote on last edited by
                                    #17

                                    Exactly. I have used NHibernate as well, and it really is quite powerful and flexible. No matter what O/R-Mapper one uses the productivity gain can be quite big. Time one can spend on the domain modeling instead.


                                    "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

                                    1 Reply Last reply
                                    0
                                    • R Rohde

                                      I have just started playing with making a version 2 of a web app I have done for some companies. Earlier versions used a hand-coded ADO.NET layer. Since there will be a lot of changes in the new version I am playing a bit with MEF (Microsoft Entity Framework) in order to decide whether to use it or not. Although it has got a lot of flack in the "press", I must say I really really like it. Granted it is not perfect, but I already fell more productive. The best is not having to write SQL in strings, but having compile time checking of Ling (to Entities). That is awesome. Anyway, just thought I give it a positive review since it's been dissed a lot.


                                      "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

                                      B Offline
                                      B Offline
                                      bryce
                                      wrote on last edited by
                                      #18

                                      you're lucky where i work i dotn even get to code in .net or c++ hardly ever last coding i did was some javascript stuff this week and here i am...working away on my MCSD :( Bryce

                                      MCAD --- To paraphrase Fred Dagg - the views expressed in this post are bloody good ones. --
                                      Publitor, making Pubmed easy. http://www.sohocode.com/publitor

                                      Our kids books :The Snot Goblin, and Book 2 - the Snotgoblin and Fluff

                                      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