Asp.net mvc ASP.NET MVC:模型和成员用户之间的关系

Asp.net mvc ASP.NET MVC:模型和成员用户之间的关系,asp.net-mvc,asp.net-membership,Asp.net Mvc,Asp.net Membership,我有一个模型Docs,带有一个guid列author\u id,它应该引用一个MembershipUser 我使用的是标准的MembershipProvider(我只更改了db名称),当然我没有一个MembershipUsers模型 我可以很容易地在类Docs中定义一些方法来获取一个Doc的MembershipUser和一个MembershipUser的所有Docs,但是有些事情很棘手(列出用户,显示每个用户有多少个Docs);此外,我觉得我在以一种奇怪的方式使用MVC:在我看来,如果我有一个M

我有一个模型Docs,带有一个guid列author\u id,它应该引用一个MembershipUser

我使用的是标准的MembershipProvider(我只更改了db名称),当然我没有一个MembershipUsers模型

我可以很容易地在类Docs中定义一些方法来获取一个Doc的MembershipUser和一个MembershipUser的所有Docs,但是有些事情很棘手(列出用户,显示每个用户有多少个Docs);此外,我觉得我在以一种奇怪的方式使用MVC:在我看来,如果我有一个MembershipUsers模型会更容易

我如何实现这种关系?我应该为会员制用户实现一个模型吗

谢谢

更新:我意识到我一点也不清楚

假设我想列出我的所有用户及其文档。 一种方法是:

ViewModel model = new ViewModel()
{
    Users = from MembershipUser user in Membership.GetAllUsers(page, pagesize, out totalusers)
            select new UserWithDocs
            {
                User = user,
                Docs = context.Docs.Where(c => c.author_id == (Guid) user.ProviderUserKey)
            },
    UsersCount = totalusers
};
这是可行的,但会为每个用户生成一个单独的查询

我可以获得一个用户的guid数组,然后查询文档
,其中author\u id位于guid列表中,但是我应该手动将每个文档与其作者关联


什么是更好的解决方案?

不确定我是否正确理解您,但您可以使用MembershipUser类作为您的用户模型。如果您想将用户引用到您的“doc”模型,您可以简单地将属性“Author”添加到您的模型类中,当您从DB获取模型时,您也可以获取用户


Membership类包含一些静态方法,用于列出所有用户、添加/删除用户等。

是否尝试加载所有用户和所有文档?这听起来像是很多数据。为什么不将视图分离到用户列表中,然后深入到所选用户的文档列表中呢?正如您所指出的,如果您想在两个查询中执行此操作,则需要使用foreach循环手动将文档与用户关联。