When you get all of the reviews for an author, it takes a while to load because of the review text; it’s reviewing a lot of data it doesn’t need. So, the needs of DvdFriend dictate that projections are next on the list.
To complete projections, I’m going to have to remove the custom serializer. That’ll take some work. But, my immediate need is to exclude a field.
from r in MovieReview select r.**, –r.ReviewText where r.Author.ScreenName=’DvdFriend’
r.** means to do a DEEP GET; it will get the entire graph unless a subsequent instruction tells it otherwise.
-r.ReviewText instructs it to remove that field from the select list. When the object comes back, the ReviewText property will be null.
The SELECT statement is fully parsing. I made a few changes in the build object to support this. There are two things left:
- Per object type in the graph, figure out which fields are needed. The server will do this work and pass the result to the sql object
- Get the select from the resolver (previous bullet) to the build object code. I’ll have to massage some things for that.
I’ll work on that this week as I can. Hopefully I can have it done in a couple days, but we’ll see.
In other news: I had some time to kill today, but not enough time to get the gears turning for real work, so started making the code style cop compliant. I have to do this every few weeks; I don’t keep up with as I code.