假设我正在为一个约会网站编写一个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; }
}