我想使用 POCO 方法将图像添加到我的项目中。为了让一切正常工作,我需要修改我的视图/控制器。
物品
namespace POCOExample.Models
{
public class Item
{
public int ID { get; set; }
public string Name { get; set; }
public string Info { get; set; }
public List<Image> Images { get; set; }
}
}
图片
namespace POCOExample.Models
{
public class Image
{
public int ID { get; set; }
public int ItemID { get; set; }
public Item Item { get; set; }
public string FileName { get; set; }
}
}
控制器创建(POST)操作
[HttpPost]
public ActionResult Create(Item item, List<HttpPostedFileBase> iamges)
{
if (ModelState.IsValid)
{
// Added code START
foreach (var image in images)
{
item.Images.Add(new Image {
FileName = Infrastructure.Image.Upload(image) // Returns file name, just what I need
});
}
// Added code END
db.Items.Add(item);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(item);
}
问题
此代码有效,但是我想知道我这样做是否是最佳/正确的方法?