Category Archives: Data Access

Writing about EF with no limits

When I wrote my Intro to ADO.NET Entity Framework article for CoDe Magazine last year, I was told I had to keep it under 5000 words. That was painful. There was so much I left had to leave out that I still thought was part of an intro. I have had to get the hook quite a few times when presenting on EF. I have so much I want to share.

Now that I’m writing a book, nobody is telling me that I have to squeeze all of my thoughts into a little box and I can write and write whatever I want.

I knew this was ready to spill out of me. I already have 100 pages. Who knew!

It won’t all come so easily, and some of those 100 pages didn’t since I was forced to look carefully at things I have glazed over previously. But I am enjoying this part of the process while it lasts!

Microsoft MDM, Entity Framework and Astoria – is Jasper the missing link?

Confession: I had never heard of Microsoft Master Data Management before seeing Jamie Thompson’s blogpost, MDM -> Entity Framework -> ADO.Net Data Services. Better together?. MDM is a BI tool created by a company called Stratature, which Microsoft acquired in June. Jamie writes more about that in Microsoft purchases Stratature. Notice which technology MDM is listed under on Microsoft’s website.

Jamie sees a strong connection between MDM and entity framework’s capabilities, however he points out one big disconnect which is that EF can’t create EDMs on the fly at run time.

But can’t it? We’ve actually seen some explorations into this with the long ignored Jasper project, an incubator project that was previewed at last year’s MIX conference. I wrote an article about Jasper for OReilly which you can read to get an idea of what that’s all about: Build Dynamic Database Applications in .NET with Project Codename “Jasper” .

The short explanation is that Jasper dynamically generated an EDM on the fly at runtime by pointing to a database. Then some intelligent dynamic controls use Convention over Configuration to make assumptions about what you want to do with whatever data model was created. Dynamic languages are core to how Jasper works.

Jamie points out that Brian Dawson and Jeff Derstadt both expressed interest in his questions about bridging the two and providing the ability to dynamically create EDMs. Well, they’ve already got some of that work done. Maybe it will revive some interest in the ideas that were being put forth with Jasper.

I also grinned when Jamie said he had “cheated” by manually adding associations into an EDM based on an MDM database because MDM didn’t infer the relationships. That’s not cheating; that’s what the conceptual layer is for! 🙂

MIX preview: Consume Windows Live Services from Astoria Client Libraries

Andy Conrad shares with us another preview of what’s coming at MIX08.

Windows Live Services will now have AtomPub payloads. These will match the ADO.NET Data Services payload format and therefore you will be able to use the various client libraries for ADO.NET Data Services (.NET, ASP.NET AJAX nad Silverlight .NET) to consume the Windows Live Services.

Sure makes it handy when things align like this.

Early on in the Astoria life cycle, they were talking about having a common format with WIndows Live, but at that time it was variation on POX (plain old xml) they were calling Web3S.

Then they bagged that and settled on ATOM and JSON.

Earlier this month, Pablo Castro wrote about AtomPub support “From our (Microsoft) perspective, you could imagine a world where our own consumer and infrastructure services in Windows Live could speak AtomPub with the same idioms as Astoria services”.

So here is that world.

See more at MIX!

Okay, so I’m writing a book

I give in.

For years, every time a publisher has asked me “so Julie, when are you going to write a book for us?” I had my answer ready. “I’ll do it when you are prepared to give me a $50,000 advance, come to my house weekly to cook dinner and clean the house and also pay for a full year of marriage counseling.” So they finally go the point of my not-really-that-funny joke and stopped asking.

Then Microsoft went and created this thing called Entity Framework which intrigued me… a lot. I played with it and learned plenty about it. I wrote some articles which were extremely frustrating because they have a limitation on how long they can be. I have been speak at conferences and user groups about it for over a year, but can never fit everything I want to say in a 60 or 75 minute slot (finally I’m doing full day sessions at a few conferences!). I have written a gazillion blog posts about it and answered lots of questions in the forums.

But still I wasn’t happy. Entity Framework was leaking out of me and I could not satisfy my need to talk and write about it.

So I finally gave in and talked to a few publishers and said that it was time.

I am now writing a book for O’Reilly called “Programming Entity Framework”. I have actually started writing it already and am hoping to have it in print in October. This gives me a short time frame to write it in since there are about 3 monhts needed for the actual production of the book so it has to be done by then.

Call me crazy. But, really, I was going to self-combust otherwise. I’m so happy having a valid excuse to play with Entity Framework every day now.

There is a much bigger problem though with this. It’s not that my husband and I will probably be eating spaghetti for the next 4 months or the dust bunnies that will be taking over our house.

The problem is that the animal which I really want to have on my cover has been used already for a VBA book (which I have). Of course, that would be a Newfoundland dog. How perfect is a dog? Isn’t data an old faithful friend? And we’re teaching it some new tricks with Entity Framework! Maybe we could have a write-in campaign to convince them to let me have another Newfie!

Anyway, until there is an official cover, I have invented this one for myself:

EF Contrib – A CodePlex project for Entity Framework community projects

Ruurd Boeke had an Entity Framework tool he was writing and wanted to share, so he created a common project on CodePlex that can be used as a container for any other ENtity Framework projects that people are working on. IT’s called EF Contrib.

Ruurd is working on an easy way to implement IPOCO in v1 of Entity Framework.

Michael DeMond (also known as MichaelD!) has added a plug-in EDMX code generator.

If you have an E.F. tool that you would like to share or that you would like to get other developer to help you build, this is a great one-stop place to host it.

The url is codeplex.com/efcontrib. Easy enough to remember!

My DotNetRocks Entity Framework show is on line – win a free ____________

I recently had a fun chat with Carl and Richard about my favorite topic, the ADO.NET Entity Framework.

It is now online at www.dotnetrocks.com. (http://www.dotnetrocks.com/default.aspx?showNum=319)

And just for fun, the first person (who I have not already told privately) who can identify a particular symptom of my latest dive into a new level of insanity will be gauranteed a free copy of the tangible expression of this insanity when it is available. (Is this cryptic enough for you? :-))

Will LINQ to Entities and Entity SQL get SQL Server’s new data types, too?

One of the points Faisal made in his post Coming soon to LINQ to SQL is that there will be support for the new types in SQL Server 2008 in the next release (SP1?).

It made me wonder if the LINQ to Entities and Entity SQL will gain these before Entity Framework is released?

One of the benefits of Entity SQL is that it in addition to the canonical functions that it supports (for all providers), it also support provider specific functions and provider primitive types. So for Entity SQL it’s a matter of getting the types into the data provider.

For LINQ to Entities, they also need to get it into the Entity Framework APIs. Perhaps they are doing that along with the LINQ to SQL update?

Note: Dont’ miss Danny Simmons’ reply in the comments!

What’s happening with LINQ to SQL now that it’s been released?

If you’ve been wondering, and many of us have, Faisal Mohamood, LINQ to SQL Program Manager, gives us a hint in this blog post: Coming soon to LINQ to SQL. It’s hard to tell if he’s talking about things coming in VS2008 SP1 or if we will have to wait much longer.

Update: Charlie Calvert’s blog indiciates that these are for next release. But that doesn’t quite clear it up. I’ll just pretend that I believe this means, literally the next time something is released, which translates to SP1.

Entity Framework at TechEd

I found out recently that I will be giving not one, but two sessions related to Entity Framework at TechEd 2008 US Developer.

Advanced Entity Framework: Entity Data Model in the Enterprise

and

.NET 3.5 Data Access Guidance

I’m sure there will be plenty of other ADO.NET/EF/Data Services sessions there as well.

Since we’ll be nearing the end of “the first half of 2008” which is the period of time in which E.F. is supposed to be released, this could end up being E.F.s coming out party. But, it’s only early June, and there will be 3 more weeks in the first half of 2008 after that, so it’s hard to call it at the moment.