Methods in Entity Framework that return entities from SQL queries, such as DbSet<T>.SqlQuery and ObjectContext.ExecuteStoreQuery, cannot create complex types. This is a known problem, whose resolution you can track here: Support entities with complex types in SqlQuery (ExecuteStoreQuery and Translate).
There isn’t much you can do about it at the moment, we will just have to wait for this to be implemented.