What Do ObjectQuery’s Builder Methods Build

Until Beta 2 ObjectQuery’s builder methods used to build a Command Tree. There were multiple problems with that: ·         Duplicate code – there is already a component that builds Command Trees from Entity SQL. ·         Caching – Command Trees are expensive to hash and thus – difficult to cache. ·         Tracing – getting a meaningful…


How to Get the Native SQL from an ObjectQuery

The way to get the native SQL generated for an ObjectQuery is exactly the same as for EntityCommand – using the new ToTraceString() method introduced in Beta 3. Previously that would require a similar (even more obscure) pattern that involved ObjectQuery.CreateCommandTree() and IServiceProvider.CreateCommandDefinition(). Now that there is a new pattern, both of the above methods…


How to Get the Native SQL from an EntityCommand

With the Beta 3 release, Entity Framework is introducing an easy way to get the native SQL from an EntityCommand. There was public API to get to the native SQL, but the pattern was too obscure, and I don’t want to go into detail. Let’s discuss the new one, instead. It’s a single method directly…


How to Do Custom Mapping Using Entity SQL Views

This post was intended to be a reply to this question http://forums.microsoft.com/msdn/showpost.aspx?postid=2440161&siteid=1 on the Entity Framework forum, but its size exceeds the forum server limit. Besides, it’s useful in general. So I decided to post it here. In this post you’ll find an entire repro of the subject scenario from the forum.   Create the…


How to Parse an EntityDataReader

2007.12.18: Please accept my apologies – today I discovered (and fixed) two bugs in the parsing code. One is a silly error. The other is that collections should be treated as primitive types and refs with regard to the number of fields. The code bellow includes the changes.   2007.12.04: Last week I discovered that…


XSL Transformation of CSDL into HTML

The attached XSL script neatly renders an Entity Framework CSDL file into HTML.   Below is the NorthwindEF model that we’ve been using for our samples, rendered using that XSL script:   Northwind Entity SetsEntity TypesComplex TypesAssociations Entity Sets Northwind Employees Northwind.Employee Territories Northwind.Territory Regions Northwind.Region Suppliers Northwind.Supplier Products Northwind.Product Categories Northwind.Category Customers Northwind.Customer Orders Northwind.Order OrderDetails Northwind.OrderDetail…


Entity SQL Tip #1

A well defined query against a well defined entity data model does not need JOIN.   Navigation properties in combination with nesting sub-queries should be used instead. These latter constructs represent task requirements much more closely than JOIN does. That makes it easier to build and maintain correct Entity SQL queries.