无法隐式转换类型&system; collection.collections.generic.list <string>&#39; to&#39; system.collections.generic.list <entities.tablename> </entities.tablename> </string>

时间:2014-08-30 08:59:00

标签: entity-framework asp.net-mvc-4

我尝试了几乎所有的解决方案,但没有用。我无法获得特定列Priority.Any帮助非常感谢的明确列表。

public List<AlertType> GetAllAlertNames()
        {
            var lstAlertNames = _zyenaDbContext.AlertTypes.Select(x => x.Priority).Distinct().ToList();

            return lstAlertNames;          
        }

返回lstAlertNames时出现以下错误:

cannot implicitly convert type 'system.collections.generic.list string '
 to 'system.collections.generic.list zyenaEntities.AlertType

在Model AlertType中

public string Priority { get; set; }

2 个答案:

答案 0 :(得分:1)

.Select(x => x.Priority)仅选择Priority属性(typeof string),因此您选择的是List<string>,但您的方法正在返回List<AlertType>

不确定您实际想要返回的内容但是List<AlertType> morelinq是否有一个有用的扩展方法,可以让您AlertTypes.DistinctBy(x => x.Priority);

答案 1 :(得分:0)

主要的错误是我试图只返回单个属性优先级,实体AlertType无法强制转换。

public List<string> GetDistinctAlertPriorities()
        {

            var lstAlertNames = _zyenaDbContext.AlertTypes.Select(x => x.Priority).Distinct().ToList();
            return lstAlertNames;

        }