Compare tipos anuláveis em Linq para Sql
Eu tenho uma entidade de categoria que possui um campo Nullable ParentId. Quando o método abaixo está em execução e o categoryId é nulo, o resultado parece nulo, no entanto, existem categorias com valor nulo de ParentId.
Qual é o problema aqui, o que estou perdendo?
public IEnumerable<ICategory> GetSubCategories(long? categoryId)
{
var subCategories = this.Repository.Categories.Where(c => c.ParentId == categoryId)
.ToList().Cast<ICategory>();
return subCategories;
}
A propósito, quando altero a condição para (c.ParentId == null), o resultado parece norma