我是网络开发新手。现在我学习 ASP.NET MVC 5 和 ASP.NET Identity。
针对我的情况,您能给我一些建议吗:
在我的网站中,我希望拥有某些类型的用户。例如:
买方
卖方
他们每个人都可以登录并控制他的部分信息。(例如买家可以更改他的信息,添加请求。卖家也可以更改他自己的信息并添加商品)
现在,我创建了类似的东西:
using Microsoft.AspNet.Identity.EntityFramework;
using System.Data.Entity;
public class ApplicationUser : IdentityUser
{
public int? BuyerId { get; set; }
public int? SellerId { get; set; }
public virtual Buyer Buyer { get; set; }
public virtual Seller Seller { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
...
}
当我们创建一个用户时,他会获得一些包含信息的角色和属性(例如,如果是买家,他将拥有“买家”角色和一些买家属性(卖家将为空)。
这是正常的做法吗?
UPDATE:
我想我选了一个不好的例子(卖方和买方)。就我而言,我有类似推荐系统的东西(另一个例子):
- 第一类用户,可以添加自己的信息并找到一些物品(例如水果)
- 第二类用户,添加此项目(带有附加信息)(例如苹果,梨,葡萄。其他(第二类用户)添加蔬菜)
- 最后一类用户,可以添加一些附加信息(例如城市)
系统可以根据有关用户的附加信息(例如最近的经历等)和物品(例如种类、成本等)来确定用户的偏好(某些蔬菜或水果)
不,这不是你想要的处理方式。用户就是用户。如果您在能力上有真正的区别,您可以使用角色,但在大多数像您所描述的系统中,成为“买家”或“卖家”并不是真正的黑白分明的事情:那些购买东西的人可能会最终喜欢出售,而卖家可能确实想买东西。我的建议是根本不做任何区分。如果您只想在某人可以出售之前进行一些审批流程或其他操作,那么您可以再次使用“卖家”角色,并且只有那些已添加到该角色的人才能看到卖家选项。
如果您需要存储买家或卖家特有的信息,那么您还可以使用声明,这比向用户模型添加其他属性要灵活得多,而且肯定比创建实际的外键关系来存储额外的信息要灵活得多数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)