C# 使用服务获取所有IUser

C# 使用服务获取所有IUser,c#,orchardcms,orchardcms-1.6,orchardcms-1.7,C#,Orchardcms,Orchardcms 1.6,Orchardcms 1.7,在orchard 1.6中,我想获得数据库中的所有记录 Orchard\u Users\u UserPartRecord表 我可以通过以下方式获得用户: var user = _membershipService.GetUser(username); 或 是否有某种查询或服务可以让我获得AllUsers?…我肯定有,但我看不到,所以我尝试添加我自己的 在Orchard.Users模块中,membershipService.cs iv添加了: public IEnumerable<IUse

在orchard 1.6中,我想获得数据库中的所有记录 Orchard\u Users\u UserPartRecord表

我可以通过以下方式获得用户:

var user = _membershipService.GetUser(username);

是否有某种查询或服务可以让我获得AllUsers?…我肯定有,但我看不到,所以我尝试添加我自己的

在Orchard.Users模块中,membershipService.cs iv添加了:

public IEnumerable<IUser> GetAllUsers()
    {
        return _orchardServices.ContentManager.Query<UserPart, UserPartRecord>().List();
    }
IEnumerable<IUser> AllUsers();
 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;
    }
public IEnumerable GetAllUsers()
{
return _orchardServices.ContentManager.Query().List();
}
IUSER服务iv中的tehn增加了:

public IEnumerable<IUser> GetAllUsers()
    {
        return _orchardServices.ContentManager.Query<UserPart, UserPartRecord>().List();
    }
IEnumerable<IUser> AllUsers();
 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 alluser();
在userService iv中添加了:

public IEnumerable<IUser> GetAllUsers()
    {
        return _orchardServices.ContentManager.Query<UserPart, UserPartRecord>().List();
    }
IEnumerable<IUser> AllUsers();
 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;
    }
public IEnumerable诱惑者()
{
IEnumerable users=\u membershipService//但它不允许我选择GetAllUsers,但允许我选择
//getUser,iv使用了相同的代码只更改了查询为什么不显示?
如果(用户==null)
返回null;
返回用户;
}
然后,在我需要获得所有用户的地方,我可以说:

IEnumerable<IUser> allUsers = _userService.AllUsers();
IEnumerable allUsers=_userService.allUsers();

我认为有一个服务已经做到了这一点,我只是没有看到它。有什么想法吗?

GetAllUsers()
\u membershipService
上不可用,因为
\u membershipService
属于接口类型
IMembershipService
,而不是添加了
GetAllUsers()
方法的
membershipService
类。要使其可用,还可以将
GetAllUsers()
的方法声明添加到
IMembershipService
接口

至于是否已经存在这样做的服务,似乎不是这样。您可以看到,Orchard本身使用与上述相同的技术来获取用户列表,例如在
Orchard附带的
AdminController
中。用户
模块:

var users = Services.ContentManager
    .Query<UserPart, UserPartRecord>();
var users=Services.ContentManager
.Query();

感谢您的回复,是的,没有IMembershipService类,但是我当然不需要创建一个,因为这些模块应该是正确的。所以在同一个文件夹中有一个userService和一个IUserService,我想没有IMembershipService是有原因的?
IMembershipService
Orchard.Security
中的一个接口(属于
Orchard.Framework
)<代码>成员资格服务在
Orchard中。用户
是实现该接口的类
IMembershipService
应该是一个框架接口,也就是说,期望由某个模块实现的东西。如果您愿意,您可以提供一个基于
UserPart
以外的其他实现(如LDAP或Active Directory)。Orchard的作者在设计
IMembershipService
界面时,并不认为需要为所有用户提供查询方式。也许这对一些会员资格提供者来说没有意义,或者可能是他们没有想到的事情。你可以试着问问团队中的某个人。