Monthly Archives: November 2007

Vermont is getting a VS2008 InstallFest on Dec 6th.

Thanks  (humongous thanks) to Chris Bowen for pulling off getting Vermont on the list for the installfest. It will be an “add-on” to the Roadshow day.

From his blog: (read the details carefully.. priority goes to registered attendees of the roadshow…)

Burlington (Williston), VT
December 6th, 4:15 to 6:00 PM
Vermont Technical College, 201 Lawrence Place, Room 401, Williston, VT
In partnership with the Vermont .NET User Group

Like Rochester, we’re running this InstallFest in the same room as the Roadshow event that day.  Stay with us from 4:15 until 6:00 and enjoy some food, camaraderie, and gaming.

Priority for giveaways will be given to everyone who attends (not just registers for) the Burlington Roadshow event.  Remaining materials are available, while they last, to any walk-ins.

 

Partnering with area user groups, we’re offering attendees a chance to install the release version Visual Studio 2008, enjoy some food, conversation, and gaming!  Since the packaged product hasn’t been released yet, here’s what will happen:

  • Bring your laptops (or heck, a desktop!) and your festive selves
  • Grab a DVD with the Visual Studio 2008 Pro Trial Edition bits
  • Install and be happy
  • Play some Halo 3 or Guitar Hero, munch on some food, chat with people
  • Go home and enjoy VS2008
  • …wait…
  • When the packaged product ships, you’ll get a copy of Visual Studio 2008 Professional in the mail!  (Which will *not* require a reinstall of the trial version.)

zune-8gb-thumb As an added incentive to get VS2008 installed that evening, we’re giving away T-shirts and raffling off a new 8GB Zune among the people who get VS2008 on their machines!

“Free Sounds Good!  So, Where?  When?  How Do I Sign Up?”

You may notice that the events are generally on our MSDN Roadshow days (except for Waltham, where the Roadshow will be the following day.)  That’s of course no coincidence, we’d like to take advantage of our passing through various areas in the northeast to run these special events. 

Each event has its own timing, registration, and logistics, detailed below.

As you can guess, we have limited quantities of giveaways (and “free” always draws a crowd) so we can’t guarantee everyone will walk away with something.

 

Another EF Beta 3 Tidbit

I attended Zlatko Michailov’s talk on Entity SQL today at DevTeach which was definitely interesting to me. In showing Entity SQL queries, Zlatko used a tool that he built as an experiment that evaluates Entity SQL queries (with some intellisense help as you type them!), displays the resulting provider level SQL and then displays the resulting data in grids (plural if there is related data in the result). It will be cool to see that tool evolve into something that we can use…keep your eyes on his blog just in case!

While I learned a ton, one of the very interesting (amazing actually) things that Zlatko shared with us about the upcoming Beta 3 of Entity Framework is that they had done some serious work on performance in the Object Services layer and that it is almost as fast in materializing objects as the Entity Client is at streaming results. He also said that they are closing in on SQLClient performance.

Another new Program Manager on the Entity Framework team

I learned today about Diego Vega who is another new hire on the Entity Framework team. Diego is responsible for Linq to Entities. As EF grows, there are more and more specialized people on the team. So now we have Zlatko who is the Entity SQL PM, Alex who owns the Entity Data Model and Diego will be focused on LINQ to Entities.

A funny post yesterday as Diego gets “revenge” on Zlatko who wrote a post on LINQ to Entities. Diego’s revenge is to write a post about Entity SQL. And of course, we’re the beneficiaries!

Tell me why you don’t like Entity Framework

I find that people really want to tell me what’s wrong with Entity Framework. This is a good thing. It’s how I learn. It’s sometimes a little overwhelming, but since I feel like I’m just the messenger, I don’t take any of it personally.

So go ahead.

Tell me why you don’t like Entity Framework. Why you think people should stay away from it (I heard this advice was being given in a SQL Connections talk). Why you want to hit someone. Why it frightens you. Why you think it is a dba’s nightmare. Bring it on.

But only do so with the understanding that I ask only because it will help me understand Entity Framework better. 

Esther Schindler asks Is Computer Programming Language Popularity Important?

Over on CIO.com where CIOs go to get help with technology direction decisions for their companies, Esther Schindler takes a look at the Programming Language Popularity (non scientific) study which analyzed search terms for Yahoo and craigslist, book titles on Amazon.com, languages used in Freshmeat projects and more.

Language choice is a much different decision for CIOs than it is for developers, Esther says.

While she finds the results

“interesting—well, okay, they’re fascinating if you’re a software development and statistics geek like me, and for your sake I hope you aren’t.”

But she’s not keen on their methodology ….  you can read her post here.

Update:[I thought there was an ] Entity SQL difference when using ObjectQuery vs EntityClient

*Update* It turns out that I completely misunderstood Zlatko Michailov’s email reply to me when I was having trouble with this. I seem to have freaked out the team by writing this errant blog post. Sorry guys.

When using ObjectQuery, I was doing this:

Dim myAWEntities=New AdventureWorksEntities

dim myObjQuery=myAWEntities.CreateQuery(Of Customer)(“SELECT VALUE cust from myAWEntities.Customer as cust “)

I was thinking in LINQ, using the variable of the instance I had created.

But if I use the entitySet name, it’s fine.

“SELECT VALUE cust from AWEntities.Customer as cust ” &

I am having a really hard time believing that I didn’t try that since I was trying a lot of things, but it is now working and I’m still on Beta2.

I went around in circles with this one a few weeks ago (preparing for a session at DevConnections) and saw that someone had the same problem on the forums yesterday so thought I would blog it.

I have no idea if it will change going forward, but this is in E.F. Beta 2.

Entity SQL is the query language that you use when

1. querying through ObjectServices directly by creating an ObjectQuery as in

Dim MyObjQuery=MyObjectContext.CreateQuery(Of MyEntityClassType)(myEntitySQLQueryString).

or 2. querying through the Provider: EntityClient

Dim myCommand=New EntityCommand(myEntitySqlQueryString,myEntityConnection)Dim myDataReader=myCommand.ExecuteReader(COmmandBehavior.SequentialAccess)

A simplistic EntitySQL query looks something like this:

“Select cust from Customer as cust” where Customer is referring to an EntityClass in my model.

The difference between using this with ObjectServices vs. EntityCLient is that in ObjectServices, you will have already identified the namespace that the CustomerClass lives in when you create the ObjectContext.

FOr example,

Dim myAWEntities=New AdventureWorksEntities

So when you create the ObjectQuery, it actually barfs, I mean throws an exception, if you tell it the namespace again. So you just want plain old Customers.

If my query read “Select cust from AdventureWorksEntities.Customer as cust”

The exception would be

Failed to resolve AdventureWorksEntities.Customer’ in the current scope or context. Make sure referenced variables are in scope, required schemas are loaded and namespaces referenced correctly, near multipart identifier, line xxx, number xxx.

Now with EntityClient, there is no indication outside of the query string as to the namespace, so you NEED to tell it the namespace.

Unfortunately, it’s not obvious because if you look at examples out on the web you’ll see it both ways and it might take a while (as it did in my case) for the subtle difference to become clear.

More Beta 3 clues for Entity Framework: Compiled queries and TSQL in debugging

I sometimes feel like Gretel picking up tidbits on my way to the Gingerbread house when it comes to getting clues about what’s coming in Beta3 of Entity Framework.

The next two I have found are:

From Alex James blog, Entity Framework is getting compiled queries similar to what’s in LINQ to SQL. You can pre-compile query expressions, save them and even pass them around.

One thing that Alex mentions is that they are not tied to the ObjectContext (which is how you can pass them around) and therefore it must be the magic behind the next tidbit – which is that we’ll be able to get at the TSQL generated from the query expressions more easily.as per Danny Simmons in this forum thread.

It is currently possible to see the TSQL in a convoluded way of digging into the EntityCommand that is explained in the answer to this forum post. WHen I saw that, I tried to write a debugger visualizer but discovered that because the EntityCommand is not serializable (nor the objectQuery, from which you can grab the EntityCOmmand) there was no way to get the commandtree over to a separate process where the debugger is hosted. Someone actually got around it with an enormous number of lines of code (see this forum thread) but I decided that I would just bide my time for a simpler way to appear in the bits.

We’ll see in a few weeks what it looks like.