chr*_*igo 6 c# asp.net asp.net-mvc entity-framework asp.net-identity
我是网络开发的新手.现在我用ASP.NET Identity学习ASP.NET MVC 5.在我的情况下你能给我一些建议吗:
在我的网站中,我希望有一些类型的用户.例如:买方卖方
他们每个人都可以登录并控制他的部分信息.(例如买家可以更改他的信息,添加请求.卖家也可以更改自己的信息并添加商品)
现在,我创建这样的东西:
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")
    {
    }
    ...
}
当我们创建用户时,他会获得一些信息的角色和属性(例如,如果是买方,他将拥有角色"买方"和一些买方财产(并且卖方将为空).
这是正常的做法吗?
更新:
我想我选择了一个不好的例子(卖方和买方).在我的情况下,我有一些像recomendation系统(另一个例子):
系统可以基于关于用户的附加信息(例如,最近的经验等)和项目(例如种类,成本等)来确定用户的偏好(一些蔬菜或水果).
Chr*_*att 11
不,这不是你想要处理的方式.用户是用户.如果你在功能上有真正的区别,你可以使用角色,但在大多数系统中,比如你所描述的,作为"买家"或"卖家"并不是真正的黑白分明的东西:购买东西的人,可能最终喜欢卖,而卖家可能真的想买东西.我的建议是不要做任何区分.如果您想在某人可以出售之前进行一些审批流程,那么您可以再次使用"卖家"角色,只有那些已添加到该角色的人才会看到卖家选项.
如果您需要存储作为买方或卖方独有的信息,那么您还可以使用声明,这比向用户模型添加其他属性要灵活得多,而且创建实际的外键关系以存储额外的灵活性更加灵活数据.
| 归档时间: | 
 | 
| 查看次数: | 4483 次 | 
| 最近记录: |