【发布时间】:2009-01-22 21:00:42
【问题描述】:
我是 LINQ 表达式的新手,并试图让以下工作:
public IQueryable<Models.Powerups.Powerup> GetPowerups(Guid userid)
{
return from p in dc.Powerups
where p.UserId == userid
select (Models.Powerups.Powerup) new DataContractSerializer(Type.GetType(p.Type, true)).ReadObject(new XmlTextReader(new StringReader(p.Data)));
}
显然它不起作用,因为 LINQ 试图将整个表达式转换为 SQL。
你知道怎么做吗?
【问题讨论】:
-
顺便说一句,你不应该再使用
XmlTextReader。请改用XmlReader.Create()。
标签: c# linq-to-sql iqueryable datacontractserializer