文章内容

2017/7/22 17:46:30,作 者: 黄兵

在 LINQ to Entities 查询中无法构造实体或复杂类型"xxxx"

今天在写代码的时候出现了一个 错误,提示如下:

在 LINQ to Entities 查询中无法构造实体或复杂类型"xxxx"

截图:

错误代码如下:

[ChildActionOnly]
public PartialViewResult _TopicIndex()
{
using (UnitOfWork uow = new UnitOfWork())
{
var Topics = uow.TopicRepository.GetAll();
var TopicsModel = Topics.Select(item => new Topic
{
Id=item.Id,
TopicName=item.TopicName
}).ToList().ToList();

return PartialView(TopicsModel);
}
}

解决方法:

增加一个新的模型,如下:

namespace MyBlog.Models
{
public class TopicIndexViewModel
{
public int Id { get; set; }
public string PublicName { get; set; }
}
}

修改上面错误的代码:

[ChildActionOnly]
public PartialViewResult _TopicIndex()
{
using (UnitOfWork uow = new UnitOfWork())
{
var Topics = uow.TopicRepository.GetAll();
IEnumerable<TopicIndexViewModel> TopicsModel = Topics.
Select(item => new TopicIndexViewModel
{
Id=item.Id,
TopicName=item.TopicName
}).ToList().ToList();

return PartialView(TopicsModel);
}
}

参考资料:senki - Linq to Entities中无法构造实体或复杂类型

黄兵的个人博客原创。

转载请注明出处:黄兵的个人博客 - 在 LINQ to Entities 查询中无法构造实体或复杂类型"xxxx"

分享到:

发表评论

评论列表