Archive for August 2008

UPDATE:  Installation of .NET 3.5 SP 1 on my web hosting completely killed this app!  I’m currently going through the process of upgrading it but it will be down for a while.

I am officially announcing the beta release of the GiftListr for Facebook application.

GiftListr is the only truly universal gift registry allowing you to add products from ANY website without limitations.  Just browse stores the way you usually do when you shop online.  Once you find the item you want, simply copy-and-paste the url into the GiftListr application.  GiftListr will then download all the product information and product images available.  You can add notes to each item and share you gift list with friends.

The application is built entirely on ASP.NET MVC and makes extensive use of the jQuery library.  It also uses the Facebook Developer Toolkit available on CodePlex.  I would love to hear some feedback from the ASP.NET community.  Let me know what you think.  Any features you’d like to see?  Would you be willing to contribute to it if I add it to CodePlex as a community project?

I decided to write a second part to my previous post on extending the IQueryable interface to create a really neat and organized data access layer with Linq To Sql.  The cool thing about this practice is that it nicely separates individual filters for integration testing and then lets you combine them to form much more complex queries. 

I added a new filter, CreatedBefore, which simply filters on the created date of the blog. 


I can now use this by itself or daisy-chain it with the other filters I’ve created.  The resulting T-SQL is below.  Note the new CreateDate filter’s effect on it.

Linq to Sql gets even cooler!  Let’s say a Blog had associated Posts (a standard one-to-many, parent-child relationship).  This would result in a entity model similar to the one below.


Using the same filters I already created for the Blog entity and combining it with the DataLoadOptions property of the data context, I can now get not just the filtered Blog entities, but their associated Posts in just one trip to the database!  Nice! 

I’ve blogged about how to use the DataLoadOptions in a previous post.  Setting this as usual gives you the immediate result you’re looking for. 

The generated T-SQL statements start to get a little uglier, but I’ll take the Pepsi challenge when it comes to some custom SQL a developer might have written for this same functionality.

Hope this helps!