有人有这个问题吗?我试图从数据库中获取对象并创建一个复杂的poco但我得到了一个演员问题 poco消息类型上的Account属性是一个poco帐户类型,它会告诉我无论第一个字段类型是什么都不能转换为PocoAccount,所以在下面的示例中,AccountID是一个int所以我会得到int cant '被投到PocoAccount。
var result = (from a in DbAccount.All()
join m in DbMessage.All() on m.AccountID equals a.AccountID
select new PocoMessage {
Account = new PocoAccount {
AccountID = a.AccountID,
FirstName = a.FirstName,
LastName = a.LastName
},
MessageID = m.MessageID,
Subject = m.Subject,
Body = m.Body
});
答案 0 :(得分:0)
如果发现一个类似的帖子建议使用ToList()似乎解决了这个问题,但它感觉不太正确,而且我没有检查出sql后果。
var result = (from a in DbAccount.All().ToList()
join m in DbMessage.All().ToList() on m.AccountID equals a.AccountID
select new PocoMessage {
Account = new PocoAccount {
AccountID = a.AccountID,
FirstName = a.FirstName,
LastName = a.LastName
},
MessageID = m.MessageID,
Subject = m.Subject,
Body = m.Body
});