0

我想使用 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);
}

问题

此代码有效,但是我想知道我这样做是否是最佳/正确的方法?

4

1 回答 1

1

是的,你的做法是正确的。

既然没有更正的地方,我想给你一个哲学建议:甚至不要问自己它是否是最优的。对这个问题的回答是 99% 否,但甚至不要想对此大惊小怪,把你简单、正确和可维护的代码变成一些“最佳”的混乱,没有数字,证明这个特定的部分的代码导致现实世界的性能问题:)

于 2012-09-14T14:00:38.610 回答