用于存储用户图像的数据库设计

时间:2014-07-05 14:49:39

标签: sql-server database entity-framework database-design entity-framework-6

我正在构建允许用户上传图片的网络应用程序 图像可以是不同类型(食谱,文章,提示......和个人资料图片) 我对个人资料图片有点困惑 我首先使用实体​​框架代码,我不能建模 1-0或1 但是我在下面的图像上建立了一种关系,我需要确认这个设计是好还是坏?是否有一些缺陷?

用户可以上传任何类型的图片,我知道是谁根据CreatedBy字段上传了图片 并且用户可以上传个人资料图片,在这种情况下,我只需更新用户表中的ImageId字段。
enter image description here

1 个答案:

答案 0 :(得分:1)

您有两种实体类型,用户和图片;因此表AspUsers&图片。你有关系(在日常/ ER意义上):UserCreatedImage(UserId,ImageId)和UserProfileImage(UserId,ImageId)。

第一个是很多:实体中很多都有自己的表。

第二个是图像中的0或1:1:用户在用户中也称为1:0或-1:图像。这通常由AspUsers中的ImageId列表示,该列是Image中ImageId的可为空的外键。

假设你添加它,你的设计是合理的。

(由于这些表之间的FK循环 - 这是正确的模型 - 您必须在certain way中的实体框架中进行编码。)