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的服務的邏輯。所以簡單地設置其他相關屬性。

相關問題