0
我有以下幾點:我如何在C#中投一個IEnumerable爲IList
public IList<TopicSubTopic> GetTopicSubTopics(int topicId)
{
var topicSubTopics = _subTopicsRepository
.GetAll()
.Where(s => s.TopicId == topicId)
.Include(s => s.Topic)
.ToList();
var topicSubTopicsSelect = from item in topicSubTopics.AsEnumerable()
select new TopicSubTopic(
item.TopicId,
item.SubTopicId,
item.Topic.Name,
item.Name);
return topicSubTopicsSelect;
}
和:
public partial class TopicSubTopic
{
public TopicSubTopic(int topicId, int subTopicId, string topicName, string subTopicName)
{
TopicId = topicId;
SubTopicId = subTopicId;
TopicName = topicName;
SubTopicName = subTopicName;
}
public int TopicId { get; set; }
public int SubTopicId { get; set; }
public string TopicName { get; set; }
public string SubTopicName { get; set; }
}
我的IDE是給我下面的消息:
Error 3 Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<Models.Views.TopicSubTopic>' to
'System.Collections.Generic.IList<Models.Views.TopicSubTopic>'.
An explicit conversion exists (are you missing a cast?)
謝謝你的完美答案。一如既往 ! – Melina
您也可以在投影后進行AsEnumerable調用。 – NunoCarmo
@NoCarmo:我只是在將它改爲使用無參數的構造函數和屬性後才懷疑。那時,「AsEnumerable」將完全沒有意義。 –