All posts by Julie

Oh, *that* Niels Berglund!

I’m not a DBA. I’ve probably said that about 5000 times. So I am often pretty much out of the loop in the world of SQL Server. So, I really embarrassed myself today asking Niels Berglund if he was a SQL Server guy. I now realize that it would be like asking Kimberly Tripp if she was a SQL Server gal.

And because I am also on a mission to make sure that DBAs are at least aware that the EDM and Entity Framework supports stored procedures, I continued to dig my hole deeper by asking him if he knew that. Turns out he did a full day workshop on LINQ to SQL and Entity Framework at DevWeek in the U.K. I didn’t know about this when I wrote a blog post about DevWeek.

So I will now be subscribing to Niels’ blog along with Bob B’s, since I’m always trying to better understand the DBA perspective on Entity Framework.

REST – The Elevator Pitch

I attended Christian Weyer’s Astoria sesson this morning at the DevSummit , one of the few not in Swedish that I could understand! In fact, I was surprised to walk into Tess Ferrandez’s session and hear her speaking fluent Swedish. it turns out she lived in Sweden for a time.

Christian shared a brilliant quote in his session which was how to explain REST in one sentence. He got it from David Meggison’s “REST – The Quick Pitch” blog post.

With REST, every piece of information has its own URL.

I have had to try to explain REST in my own Astoria talks and I am going to adopt this brilliant quote. Thank Christian!

We’ll see if Christian survives his stay in Stockholm as he had quite a lot of fun (and it was hilarious I have to say) talking about the World Cup Soccer 2006. Hey, they only beat Sweden by 2 goals!  My only memory of the World Cup was all of the TechEd attendees swarmed swarmed around the many screens at the conference displaying the matches.

Stockholm – keeping developers healthy!

The snacks at the DevSummit in Stockhom speak loudly of the healthy living of the Swedes.

Here is fruit and some yummy mango banana smoothies!

I remember the year at TechEd just after Steve Ballmer slimmed down and got healthy. The afternoon snacsk of candy bars, chips and hostess cupcakes was replaced with healthier fare – baked potato chips, celery and carrot sticks, stuff like that. From one extreme to another.

The above is MUCH more my speed, though I was also quite happy to find bite sized toblerone bars at one of the vendor booths!

Off to Sweden!

Spring has arrived in Vermont, but I’m leaving.

This afternoon I start my overnight journey to Stockholm where I will be participating in the Developer Summit 08 and have been working with Patrik Lowendahl and Mats Rydin who are coordinating. Patrik’s company, Cornerstone is instrumental in this conference and everyone there has been wonderful in helping get me prepared.

I’m really looking forward to it. Stockholm is an incredibily beautiful city with lots of history and I’ve never been there before. Plus there’s a great line up of speakers some who are friends that I always look forward to hanging out with and others who I am looking forward to finally meeting! And David Chappell, who is coming by way of Eilat Israel (a 2 day trip) from TechEd, is giving the keynote!

When I have asked anyone if they want me to bring anything back for them, they all have said "oh, yes, a beautiful Swede!" Well at least my single friends have made that request.

Swedish is not among the languages I ahve ever studied so I was happy to find some really useful lessons on Survival Phrases.com. I downloaded a bunch to my iPod to listen to again if I need them. They don’t just say how to say a phrase but when it’s appropriate as well as providing other background.

I still needed to see what these words look like so a simple list like Basic Swedish Phrases provides good backup. This won’t enable me to give my presentatino in Swedish, but at least I can be polite when I have to find the toaletten.

I’ll be doing an Advanced EF Session, a talk on Silverlight Annotation and on Friday a full day workshop on Entity Framework including some Hands on Labs. It should be a blast.

And even with my dreadful lschedule right now, I’d be a fool not to at least poke around Stockholm so I am flying home on Sunday (6am flight -uggh) and will have Saturday off to be a tourist.

Model first with EDM?

In my previous post, I managed to update a simple model from an existing database. But then I started trying to do things like build my project and ran into so many problem trying to get my simple model to interact with the AdventureWorks database that I finally gave up.

I actually wrote my thoughts on this in a question on the MSDN forum for Entity Framework, with the point of the question being "is there a real example of this? Or is it just a concept that looks good on paper?"

I care a lot about this becuase I have been sharing this concept (which does make sense to me) that the EDMs loose coupling to the database means that you could map the CSDL to different databases.

But the AdventureWorks database just had too many constraints – such as non-nullable fields that I didn’t have in my model and I finally gave up because it was forcing me to modify the CSDL and I would also have to add in some business logic to deal with some of these non-nullable fields. And even if I did that, who knows what other problems would pop up?

Update after I gave myself a little time while eating lunch to think about this some more, I crossed out "finally gave up" becasue it’s basically not in my nature. I decided to go about this in a different direction with just ONE entity and succeeded by removing the unused non-nullable fields from the SSDL and mapped the entity to Insert/Update/Delete sprocs. All I have to say to myself at this point is "well, duh!" The insert stored proc provides the missing non-nullable fields and the update stored proc updates the modifieddate for me. SO problem solved in a not very realistic example, but I plan to build it up thought not today – I’ve already invested too much time. There’s a lot of flexilibity in the model, but we all still have a lot of learning to do for our various use cases.

You can read my more complete thoughts on this in the forum post and if you want to follow the conversation you can sign up to get alerts on this thread from the MSDN forums.

Oh, and if you’ve never signed up for alerts before, you might want to read this blog post I wrote last summer: A few MSDN Forums tips (which I learned the hard way – as usual).

EF UpdateModel and naming conflicts

When you use the UpdateModel feature of the Entity Framework design tools, the process relies on matching up existing entity names to table names, more specifically name of objects in the CSDL with names of objects in the database.

IF you have selected objects to add and nothing with that name already exists, it will add a new entity in the model, otherwise, it will use the existing entity.

There are changes coming to how this works detailed in this blog post by Noam Ben-Ami.

But I got bit by something that I overlooked which took hours to pinpoint the cause of the problem, so I wanted to share it.

I had created a model from scratch that was a simple, generic commerce app (see image below). I created entities for Customer, Order, LineItem, Address and Product with some properties, entity keys and associations.

Then I linked it up to  a database using UpdateModel to create the SSDL for me but nothing happened.

It took a lot of experimenting before I realized that the problem was that I was trying to add in a CustomerAddress table but I had an association named CustomerAddress. If that had been an entity, it wouldn’t have posed a problem. But the wizard did not know how to handle the fact that it was an association and just completely gave up the ghost.

The only problem I see here is that some indication of the conflict would have helped me figure out what was wrong a little sooner, though I don’t expect the wizard to overcome the conflict on its own. I did make a note of this in the forums. However, I am putting the info here for posterity in case it’s too late to change the wizard for RTM and somebody else gets stuck on the same problem.

Eight Entity Framework Tutorials on DataDeveloper.NET

August 2008 Note: the datadeveloper.net site is “in between hosts”. I am not responsible for this site, just a contributor. I don’t have access to the tutorials but I have found some copies of them and am putting them here: www.learnentityframework.com/tutorials.


I’ve written a set of Entity Framework (and one which is more general for LINQ to Entities and LINQ to SQL) tutorials that are on DataDeveloper.NET Tutorials page.

Most of these are beginner basics. The “101 Tutorials” are designed to make sure new programmers don’t get completely lost. So if you need the extra handholding, it’s there, if not just skim over it to get to the juicy bits.

The Tutorials so far are:

101 Tutorial:Creating an ADO.NET Entity Framework Entity Data Model

101 Tutorial: Use an Entity Framework Entity as a WinForms Data Source

Many to Many Relationships in the Entity Data Model

Using Stored Procedures for Insert, Update & Delete in an Entity Data Model

Naming conventions in an Entity Data Model: Cleaning up the wizard-generated EDM

Adding items to a LINQ Query of anonymous types – after the fact

101 Tutorial: ASP.NET DataBinding with the Entity Framework

101 Tutorials: WPF Databinding with Entity Framework

No Breakpoints in Your Silverlight 2.0 code?

Debug breakpoints stopped working in my Silverlight 2.0 project.

There’s one very good reason why debugging won’t work which Karsten blogs about in his post “What To Do When Breakpoints Disappear and Debugging Dies In Silverlight 2“.

But that wasn’t my problem. I had SL debugging on.

My project was from the template which creates a Web App to host and I finally realized that somehow the web app and the silverlight app were no longer linked. WHen I recreated the link debugging was back. Not that I need to debug becuase like you, my code is perfect the first time around! 😉