查询在实体框架
问题描述:
我写下面的代码查询在实体框架
var resumeedit=(from t in db.Resumes where t.User.UserID==theUserID && t.ResumeID==theResumeID select t).Select(t=> new EditResumes
{
Iswizard=t.isWizard,
Resumeid=t.ResumeID.ToString()
}).First();
EditResumes ed = (EditResumes)resumeedit;
和它给错误LINQ实体无法识别方法“System.String的ToString()”方法,和这种方法不能被翻译成商店表达。
答
像有消息称,L2E不做.ToString()
。因此,使用.AsEnumerable()
,使其L2O:
var resumeedit= (from t in db.Resumes
where t.User.UserID==theUserID && t.ResumeID==theResumeID
select t)
.AsEnumerable()
.Select(t=> new EditResumes
{
Iswizard=t.isWizard,
Resumeid=t.ResumeID.ToString()
}).First();
该投应该是不必要的:
EditResumes ed = (EditResumes)resumeedit;
答
此行
Resumeid=t.ResumeID.ToString()
,当你把它
Resumeid=t.ResumeID
会发生什么?
或简单的做:
select new { t.ResumeID, t.isWizard }
有了您的第一个建议,代码将无法编译。在第二行中,第二行中的剧组失败。 – 2011-06-09 15:36:47