Linq to sql “Linq存储库模式”;指定的强制转换无效";错误
我有以下类(我已经修剪了代码): //堆栈跟踪 在System.Data.Linq.SqlClient.SqlProvider.Execute(表达式查询、查询信息查询信息、IOObjectReaderFactory工厂、对象[]parentArgs、对象[]userArgs、ICompiledSubQuery[]子查询、对象lastResult) 位于System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(表达式查询、QueryInfo[]QueryInfo、IOObjectReaderFactory工厂、Object[]userArguments、ICompiledSubQuery[]subQueries) 位于System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式查询) 在System.Data.Linq.DataQueryLinq to sql “Linq存储库模式”;指定的强制转换无效";错误,linq-to-sql,Linq To Sql,我有以下类(我已经修剪了代码): //堆栈跟踪 在System.Data.Linq.SqlClient.SqlProvider.Execute(表达式查询、查询信息查询信息、IOObjectReaderFactory工厂、对象[]parentArgs、对象[]userArgs、ICompiledSubQuery[]子查询、对象lastResult) 位于System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(表达式查询、QueryInfo[]Query
1.System.Linq.IQueryProvider.Execute[S](表达式)
在System.Linq.Queryable.First[TSource](IQueryable
1 source)处
位于D:\PROJECTS\3DData\LoseOnlyToday\WebUI\Controllers\MembersController.cs中的WebUI.Controllers.MembersController.Welcome():第59行
此代码给出一个异常“指定的强制转换无效”
我知道查询是有效的——我使用scott gu的linq调试器来检查它——它返回3行。。。
(调试器:)
我完全不知所措。。。几个小时以来,我一直在谷歌上寻找解决方案。这是最后的办法。
有人能帮忙吗?非常感谢 SqlWeightTrackerRepository实现了IWeightTrackerRepository,但您试图将其强制转换到IMembersRepository(w/“IMembersRepository m_membersRepository”) 更改:
private IMembersRepository m_membersRepository = 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) {}
private IMembersRepository m_membersRepository = new SqlWeightTrackerRepository();
private IWeightTrackerRepository m_membersRepository = new SqlWeightTrackerRepository();