在果园1.6中,我希望得到所有的记录 Orchard_Users_UserPartRecord表
我可以通过说:
来吸引用户var user = _membershipService.GetUser(username);
或
IUser userInfo = _authenticationService.GetAuthenticatedUser();
是不是有某种查询或服务允许我getAllUsers?...我确定有但我无法看到它所以iv试图添加我自己...
在membership Service.cs iv中的Orchard.Users模块中添加了:
public IEnumerable<IUser> GetAllUsers()
{
return _orchardServices.ContentManager.Query<UserPart, UserPartRecord>().List();
}
IUserService iv中的tehn补充道:
IEnumerable<IUser> AllUsers();
并在userService iv中添加:
public IEnumerable<IUser> AllUsers()
{
IEnumerable<IUser> users = _membershipService.//but it doesnt allow me to select GetAllUsers, but it does allow me to seleect
//getUser, iv used the same code only changed the query why isnt it showing?
if (users == null)
return null;
return users;
}
然后我需要得到所有用户,我可以说:
IEnumerable<IUser> allUsers = _userService.AllUsers();
我认为有一项服务已经做到这一点,我只是没有看到它。任何想法?
答案 0 :(得分:1)
GetAllUsers()
上没有 _membershipService
,因为_membershipService
的接口类型为IMembershipService
,而不是MembershipService
类,您添加了GetAllUsers()
方法。要使其可用,还要将GetAllUsers()
的方法声明添加到IMembershipService
界面。
至于服务是否已经存在,这似乎并非如此。您可以看到Orchard本身使用与上述相同的技术来获取用户列表,例如AdminController
模块附带的Orchard.Users
:
var users = Services.ContentManager
.Query<UserPart, UserPartRecord>();