0

我建立一个ASP.NET MVC 4应用程序,允许用户大量的图片上传到服务器的价值。对于每个图像,某些实体将关联,如Product实体将与产品图像和Category实体一起与类别图像相关联。的EntityFramework代码优先自动设置的公共属性

我在我的模式中创建一个表,用来保存所有上传文件的记录,其中包含一个字符串'Ref',我会在用户想要对文件进行操作时解析,比如删除文件。这样当用户想要删除文件时,我会简单地标记模式中的文件进行删除,每天一次,我可以通过批量删除所有标记的文件来“清理”服务器上传的文件。

例如文件image.jpg上传的产品图片,我会在裁判标签image productID 4这表明这是与4的productID

产品的图片这是落实处置的正确方法上传的文件还是有更好的方法来做到这一点?这是“引用”与此文件关联的其他实体的正确方法吗?

这里是我的codefirst实体:

public class UploadedFile 
{ 
    [Key] 
    public int ID { get; set; } 
    public string RelativePath { get; set; } 
    public string AbsolutePath { get; set; } 
    public string Ref { get; set; } 
    public DateTime UploadedOn { get; set; } 
    public bool IsMarkedForDeletion { get; set; } 
    public bool IsImage { get; set; } 
} 

是否有申报一定的公共属性是自动的,当其他属性设置设置的方法吗?例如,我想添加ImageWidth & ImageHeight属性,如果上传的文件类型是图像(即,每当我设置IsImage = true时)都会自动设置。

回答

0

使用Ref列是好的,但它会是平坦的更有利于有一个额外的列指定引用的类型,在你的情况下它将是一个产品,但你可能想使用同一个表引用不同类型的对象。

设置相关的属性的逻辑不应是模型的一部分,而是该IsImage属性设置为true的服务的逻辑。所以简单地设置其他相关属性。

相关问题