我想使用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; }
}
}
[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);
}
这段代码有效,但是我想知道我这样做是否是最优/正确的方式?
答案 0 :(得分:1)
是的,你接近是正确的。
由于没有可以纠正的地方,我想给你哲学建议:甚至不要问自己它是否是最佳的。对这个问题的回答是99%没有,但是甚至不要考虑做出这样的事情并将你的简单,正确和可维护的代码转换成一些没有数字的“最佳”混乱,证明这个特定的部分代码导致现实世界的性能问题:)