在Identity框架中将对象与ApplicationUsers关联的正确方法是什么?

时间:2015-11-26 05:06:58

标签: asp.net asp.net-mvc asp.net-web-api webforms asp.net-identity

假设我正在为约会网站编写API。会员或ApplicationUser必须拥有要在其个人资料中显示的图片库。如果我将图像的 URI 存储在名为MediaResource的数据库表中,那么将这些图像链接到数据库中的ApplicationUser的正确方法是什么?

如果每个用户必须拥有一张主要个人资料照片,那么一个好的解决方案就是添加

public virtual MediaResource ProfilePhoto {get; set;}

ApplicationUser班?

  

是否像添加

一样简单
public virtual ApplicationUser ResourceOwner {get; set;}
     

MediaResource实体,以便   用户将作为外键存储在数据库中?不会这样   接近规模很差,因为我必须找到所有用户的   每次数据库中的图像?

1 个答案:

答案 0 :(得分:0)

我个人对你的问题的处理方法如下是他的画廊。正如您将检索他的所有图片并从中选择配置文件,请按照以下代码进行操作:

public class ApplicationUser : IdentityUser 
{
    ... { get; set; }

    // Schedule
    public virtual ICollection<MediaResource> WorkingHours { get; set; }

}

如果你需要在不延迟加载所有其他图片的情况下显示个人资料图片,请为他的个人资料图片添加一个单独的属性。另外,在MediaResource上创建一个布尔属性,让你知道图片是他的个人资料图片。

在ApplicationUser上配置图片

public virtual MediaResource ProfilePicture{ get; set; }

MediaResource中的个人资料图片

public class
{
    ...

    public bool IsProfilePictures { get; set; }
}