Some quick responses to your video.
1. UnitPrice should not be in ProductCultureDetail table. You must find another way to handle/show parities of the same price in different currencies.
2. Generally speaking descriptions should be in text not in n/varchar. Don't forget that in a real case scenario the product description contains html.
I'm sure that there are many other issues concerning your database design.
Anyway for a test database we can overcome these issues.
I'm new to LINQ so I have some questions/comments regarding what I saw in this video.
1. What about left outer joins. Does LINQ support these type of joints?
2. I think you must use a single LINQ query in method GetCategories of your SQLCatalogRepository class.
3. In your last method SQLCatalogRepository_ShouldReturn...
of your CatalogIntegrationTest class (lines 25..27) you expect a full list of categories and then you filter out the category you like.This pattern of design will kill your database. I've seen a couple of other videos of yours and you always do the same thing. You first fetch all data and then filter. I'm I wrong?