文章内容
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中无法构造实体或复杂类型
黄兵的个人博客原创。
评论列表