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 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