这段代码:
IList<string> quids;
quids = db.Database.SqlQuery<string>("dbo.getById @Id",
new SqlParameter { ParameterName = "Id", Value = 1 });
Run Code Online (Sandbox Code Playgroud)
生成以下错误消息:
无法将类型'System.Data.Entity.Infrastructure.DbRawSqlQuery'隐式转换为'System.Collections.Generic.IList'.
存在显式转换(您是否错过了演员?)
有人可以向我解释我如何投射集合吗?
IList<string> result = oldCollection.ToList();
Run Code Online (Sandbox Code Playgroud)
DbRawSqlQuery<T>不实现IList<T>接口(因此,不能直接转换).但它实现了IEnumerable<T>,所以你可以打电话.ToList().