I am using LINQ to Entities to retrieve item purchase dates as follows:
where EntityFunctions.TruncateTime(order.PurchaseDate) == myPurchaseDate.date
I think you are going to want to go with the date range so that you can take advantage of indexing on the server if you need to. If you base your select statement on a calculated field, it will need to scan the table for each query.