在标识框架中将对象与应用程序用户相关联的正确方法是什么?



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

如果每个用户必须有一张主要个人资料照片,那么添加

public virtual MediaResource ProfilePhoto {get; set;}

ApplicationUser班?

是不是像加法那么简单

public virtual ApplicationUser ResourceOwner {get; set;}

MediaResource实体,以便 用户将作为外键存储在数据库中吗?这不会吗 方法缩放不佳,因为我必须找到所有用户的 每次数据库中的图像?

我个人对你的问题的方法是他的画廊采取以下方法。由于您将检索他的所有照片并从中选择配置文件,因此请根据以下代码进行操作:

public class ApplicationUser : IdentityUser 
{
    ... { get; set; }
    // Schedule
    public virtual ICollection<MediaResource> WorkingHours { get; set; }
}

如果需要显示个人资料图片而不延迟加载所有其他图片,请为其个人资料图片添加单独的属性。否则,在 MediaResource 上创建一个布尔属性,让您知道该图片是他的个人资料图片。

应用程序用户上的个人资料图片

public virtual MediaResource ProfilePicture{ get; set; }

媒体资源中的个人资料图片

public class
{
    ...
    public bool IsProfilePictures { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新