2
我有些疑惑,也許是新手懷疑,但我剛剛進入ASP.NET MVC 4 基本上我想知道正確的方式來抓取模型中的對象的細節。 在這種情況下,承包商內的圖像。如何從數據庫中獲取屬性對象
型號:
public class Contractor {
[Key]
public int ContractorID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Address { get; set; }
public Image Avatar { get; set; }
}
public class Image {
[Key]
public int ImageID { get; set; }
[Required]
public string File_name { get; set; }
[Required]
public byte[] File_data { get; set; }
}
public class DATACRUD : DbContext {
public DbSet<Contractor> Companies { get; set; }
public DbSet<Image> Images { get; set; }
}
控制器:
private DATACRUD db = new DATACRUD();
public ActionResult GetContractorAvatar(int id)
{
Contractor contractor = db.Contractors.Find(id);
if (contractor == null)
{
return HttpNotFound();
}
Image avatar = contractor.Avatar;
問題1)
化身== null,但並不假設是因爲當我創建對象承包商,我成功添加了圖像(我檢查了數據庫,它在那裏)
我看到的解決方案不是在Contractor.cs模型中具有Image屬性,而只是將一個字符串屬性與圖像鍵相關聯。
問題2)
即使可以抓住的圖像鍵就像我在前面說的問題,當我通過我在調試模式下鼠標移到 私人DATACRUD DB =新DATACRUD();
db.Images也是空...
return File(avatar.File_data, "image");
}
嗨,那裏,謝謝你的信息,但爲什麼我應該有一個外國人在圖像承包商的關鍵?我只通過承包商或公司訪問圖片。但我不需要oposite – user1837862
嘿,我沒有在圖像中定義一個外國人的關鍵,但我只是嘗試了像在最後一行代碼中說的熱切的負載,它的工作原理;)非常感謝你 – user1837862
@ user1837862我的道歉,我認爲這就是你的模型是如何定義的。 – HTX9