将 IEnumerable 转换为 System.Data.Objects.ObjectSet 时出错

Posted

技术标签:

【中文标题】将 IEnumerable 转换为 System.Data.Objects.ObjectSet 时出错【英文标题】:Getting Error While Converting IEnumerable to System.Data.Objects.ObjectSet 【发布时间】:2012-06-15 18:16:53 【问题描述】:

我正在使用 mvc4.0,enityframework 4.2.1,c#,在生成 .EDMX 文件后,我尝试通过以下代码将上下文对象转换为 IEnumerable

       IEnumerable<TransactionsModel> pro = (IEnumerable<TransactionsModel>) x.ToList();

但我收到以下错误

    Unable to cast object of type 'System.Data.Objects.ObjectSet`1[MCLInventory.Models.Projects]' 
    to type 'System.Collections.Generic.IList`1[System.String]'.   

谢谢 Bhanu Prakash Inturi

【问题讨论】:

【参考方案1】:

看起来你在 ToList() 调用本身上失败了,而不是演员表。一些建议...

你知道你希望从ToList() 电话中得到什么样的列表吗?如果是这样,请将其放在与演员阵容不同的行上以 IEnumerable&lt;TransactionsModel&gt;

如果您需要先将 x 转换为其他内容,我不会感到惊讶。那么,什么样的对象 x?这与问题有关,错误似乎向我暗示,您认为它是什么和程序认为它是什么并不相同。

【讨论】:

以上是关于将 IEnumerable 转换为 System.Data.Objects.ObjectSet 时出错的主要内容,如果未能解决你的问题,请参考以下文章

无法从“System.Collections.IList”转换为“System.Collections.Generic.IEnumerable<T>”

将数组转换为 IEnumerable<T>

InvalidCastException:无法将“System.Collections.Generic.List”类型的对象转换为 System.Collections.Generic.IEnumer

将 IEnumerable<Ienumerable<T>> 转换为 Dictionary<key,IEnumerable<T>>

将 DataTable 转换为 IEnumerable<T>

Json 到 ListView - 无法将类型转换为 IEnumerable - Xamarin