如何将Collection <x>转换为IQueryable <x> </x> </x>

时间:2011-08-19 10:38:21

标签: c# linq collections

我正在尝试设置moq,但我需要创建一个假的IQueryable。我做了一个收藏,但我不知道如何把它投入到IQueryable。

Collection<DetailDataEntity> DetailDataEntityCollection = 
    new Collection<DetailDataEntity>();

DetailDataEntity DetailDataEntity = new DetailDataEntity();
DetailDataEntity.FeedTypeID = 1;
DetailDataEntityCollection.Add(DetailDataEntity);


_mockRepository.Setup(x => x.GetDetail(It.IsAny<Int32>(),
                                       It.IsAny<Enum.FeedTypeEnum.FeedType>())) 
               .Returns(DetailDataEntityCollection);

2 个答案:

答案 0 :(得分:8)

只需在您的收藏中调用AsQueryable即可。

_mockRepository.Setup(x => x.GetDetail(It.IsAny<Int32>(), 
                                       It.IsAny<Enum.FeedTypeEnum.FeedType>()))
               .Returns(DetailDataEntityCollection.AsQueryable());

答案 1 :(得分:0)

我有一个简单的 ICollection 对象,发现这对我有用:

var tapSettings = xfmrTapSettings.ToList().AsQueryable();

我必须在 AsQueryable 前面使用 ToList 才能使其工作。