MembershipUser userobj = Membership.GetUser();
Guid currentuserid = (Guid)userobj.ProviderUserKey;
List<pInfo> pobj = new List<pInfo>();
pobj = (from pid in db.pInfoes.Where(c => c.UserIdentity == currentuserid)
orderby pid.pId descending
select pid).ToList();
return View(pobj);
(c => c.UserIdentity == currentuserid) : Error -- Delegate "System.Func<Testproj.pInfo,int,bool> does not take 1 argument"
我在堆栈溢出方面经历了许多类似的问题,但无法解决它。需要一些关于委派的指导...
答案 0 :(得分:1)
您的func c => c.UserIdentity == currentuserid
的参数与所需的参数System.Func<Testproj.pInfo,int,bool>
不符。你也需要一个int
参数。我假设您已经期望c
为Testproj.pInfo
,因此您只需要为int
添加参数。基金的回报类型为bool
。尝试:
.Where((c, i) => c.UserIdentity == currentuserid)
答案 1 :(得分:1)
UserIdentity是否为整数类型,如果不是,则需要UserIdentity.Id=currentuserid
答案 2 :(得分:1)
很抱歉对我的问题有误导性的描述..问题不是委托代码,而是我传递给实体框架查询的参数类型。由于UserIdentity的类型为Unique-identifier,而pInfo在此类型的edmx文件中具有StoreGeneratedPattern =“none”。 我不得不在Edmx文件中将StoreGeneratedPattern更改为Identity Type,并且它有效。 以下帖子和上述一些评论帮助我解决了这个问题。 感谢您的所有关注和宝贵的时间。 http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/