• Picket sign:

    ===========

    - Blow Up -

    - the -

    - ORM's! -

    ===========

    =

    =

    =

    =

    Okay, I'm not against the concept of the ORM. I'm against the implementation.

    1) If you open a transaction from any server but the database server, I will shoot you, publically, and it will be considered a justifiable homicide. Lost connections are no joke when you lock tables out.

    2) Implementation of standardized and parameterized queries is apparently difficult. The majority of them I've ran headfirst into run unwashed sql_executes. 40 billion execution plans in the cache, and you want me to figure out why *1* of those ran slowly? Also, who's Bobby Tables again?

    3) Volume Controls: Can ORM even implement this stuff? I've seen entire tables downloaded to cache when pulling up the record for a single user.

    The new table object as a parameter for SQL Server (or hell, just XML passing) can be used for serious 'abstraction' layers for the developers if necessary. Admittedly, it means having someone who knows what they're doing in the DBEngine of choice, but the ORM is like watching the Hulk go to a tea party. The little girl will probably survive but the entire tea set will be in pieces by the time they're done.

    I have refused jobs, outright, that run ORM.

    Them: "We want you to come in and help us fix our system so the ORM runs better."

    Me: "Delete the ORM."

    Them: "No, you need to fix the database to make ORM work better."

    Me: "Check, please!"

    I know of *2* locations that can use ORM well, and they lean heavily on procs under the hood of the ORM to control the SQL for them.

    No, I'm sorry. ORM is immature for any system that actually needs a DBA Dev in the first place. It's like a lot of other contracts I've seen. You don't actually care what's getting the data out until you suddenly have to care, and at that point it's entrenched and you're making due with what's there and trying to plug the dyke. Once you run out of machine to throw at a problem you have to hire an expert.

    If your front end devs actually used procs and standard methodology, there's a fighting chance we can save you from the fire you jumped into. If it's ORM and abstracted to the 10th degree and if you change THAT you break EVERYTHING (oh my god what a jackass of a DBA he wants to break our stuff HE HATES ORM GOD HE'S SUCH AN ARSE HE JUST DOESN'T UNDERSTAAAAANNNNDDDD!!!!!! wwaaaaaaahhh!) instead of having the discussion with one in the first place to help put it into place intelligently... yeah.

    No. Screw ORM. Not because the idea is bad. The implementation is horrid except by experts and I'm just sick of the war with people who are supposed to be my compatriots. ORM is not newbie friendly. Stop giving it to them.


    - Craig Farrell

    Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

    For better assistance in answering your questions[/url] | Forum Netiquette
    For index/tuning help, follow these directions.[/url] |Tally Tables[/url]

    Twitter: @AnyWayDBA