Asp.net mvc ASP.NET MVC:模型和成员用户之间的关系
我有一个模型Docs,带有一个guid列author\u id,它应该引用一个MembershipUser 我使用的是标准的MembershipProvider(我只更改了db名称),当然我没有一个MembershipUsers模型 我可以很容易地在类Docs中定义一些方法来获取一个Doc的MembershipUser和一个MembershipUser的所有Docs,但是有些事情很棘手(列出用户,显示每个用户有多少个Docs);此外,我觉得我在以一种奇怪的方式使用MVC:在我看来,如果我有一个MembershipUsers模型会更容易 我如何实现这种关系?我应该为会员制用户实现一个模型吗 谢谢 更新:我意识到我一点也不清楚 假设我想列出我的所有用户及其文档。 一种方法是: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
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循环手动将文档与用户关联。