我的代码确实有效,但现在它告诉我我的回程行中有一个明确的转换。
public IEnumerable<Contacts> GetAllContacts()
{
var Contacts = from c in dbc.Contacts select c;
return (IEnumerable<Contact>)Contacts;
}
答案 0 :(得分:6)
您误解了错误消息。它实际上是(类似的)
无法隐式将
System.IEnumerable<Contact>
类型转换为System.IEnumerable<Contacts>
。存在显式转换(您是否错过了演员?)。
这意味着您在方法签名显示IEnumerable<Contact>
时尝试返回IEnumerable<Contacts>
(请注意s
)。
编译器说你可以明确地转换为IEnumerable<Contacts>
(存在转换) - 而不是 明确转换。
因此,您需要将演员表更改为(IEnumerable<Contacts>)Contacts
,以匹配方法签名和LINQ查询的结果。