Daily Archives: November 25, 2007

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.