C# 如何在实体框架中选择列中的不同值?

C# 如何在实体框架中选择列中的不同值?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,My DB表包含ContractorName作为列之一。还有一些其他列,如manpowerjoc,manpowerjoc,manpowercontractor,manpowercontractor。但是,我想检索承包商的唯一名称 我试着用下面的方法 var contractors = context.ManHoursWorked.Where(j => j.JOCID == jocID).Select(c => c.ContractorName).Distinct(); 但是我得到了

My DB表包含
ContractorName
作为列之一。还有一些其他列,如
manpowerjoc
manpowerjoc
manpowercontractor
manpowercontractor
。但是,我想检索承包商的唯一名称

我试着用下面的方法

var contractors = context.ManHoursWorked.Where(j => j.JOCID == jocID).Select(c => c.ContractorName).Distinct();
但是我得到了错误

实体命令执行异常

在表达式末尾添加ToList()调用以具体化查询:

var contractors = context.ManHoursWorked.Where(j => j.JOCID == jocID).Select(c => c.ContractorName).Distinct().ToList();

查询看起来不错,请发布内部异常。
ContractorName
列的类型是什么?瓦查尔?text?@FabioLuz它的类型是nvarchar。为什么这会有帮助呢?严格地说,我没有检查一个人如果编写下一行contractors会得到什么类型的异常。选择(c=>c.ToCharArray());也许EntityCommandExecutionException与映射错误有关。@brainboost我最初使用了上述查询。我也犯了同样的错误。然后我更改了问题中的查询。但它仍然向我显示了相同的错误,所以严格地说,这不是一个答案。@PSriharsha,如果问题仍然存在,您能向我们显示您的实体和映射吗?人们不能简单地猜测问题。