【发布时间】:2009-08-11 01:10:41
【问题描述】:
我有以下课程(我已经修剪了代码):
public class SqlWeightTrackerRepository : IWeightTrackerRepository
{
private Table<WeightTracker> m_weightTrackerTable;
//... constructor + other code here
public IQueryable<WeightTracker> WeightTracker
{
get { return m_weightTrackerTable; }
}
}
//导致错误的代码
[忽略此行 ->] private IMembersRepository m_membersRepository = new SqlWeightTrackerRepository(); [我很累,添加不正确]
私有 IWeightTrackerRepository m_weightTrackerRepository = new SqlWeightTrackerRepository();
//...一些其他代码
if (report.PreviousWeightTrackerId == 0)
try { //If no session was found try find an entry in the database
var tmp =
(from x
in m_weightTrackerRepository.WeightTracker
where x.MemberId == report.Member.MemberId
orderby x.Created_On descending
select x).First();
} catch (Exception e) {}
//堆栈跟踪
在 System.Data.Linq.SqlClient.SqlProvider.Execute(表达式查询,QueryInfo queryInfo,IObjectReaderFactory 工厂,Object[] parentArgs,Object[] userArgs,ICompiledSubQuery[] subQueries,Object lastResult)
在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(表达式查询,QueryInfo[] queryInfos,IObjectReaderFactory 工厂,Object[] userArguments,ICompiledSubQuery[] subQueries)
在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式查询)
在 System.Data.Linq.DataQuery1.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable1 来源)
在 D:\PROJECTS\3DData\LoseOnlyToday\WebUI\Controllers\MembersController.cs:line 59' 中的 WebUI.Controllers.MembersController.Welcome() 处
此代码给出异常“指定的强制转换无效”
我知道查询有效——我使用 scott gu 的 linq 调试器来检查它——它返回 3 行... (调试器:http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx)
我完全失败了......一直在谷歌上寻找几个小时的解决方案。发布这是最后的手段。 有人可以帮忙吗?将不胜感激!
【问题讨论】:
标签: linq-to-sql