ASP.Net MVC FormCollection VS Эффективность привязки модели - PullRequest
2 голосов
/ 15 мая 2009

Я использую подход Subsonic 3 ActiveRecord, и мне было интересно, что было наиболее эффективным с точки зрения публикации данных. Вот 2 сценария:

я)

public ActionResult Edit(Person PostedItem)
{
        Person p = new Person(PostedItem.ID);
        p.Name = PostedItem.Name;
        p.Update();
}

б)

public ActionResult Edit(FormCollection PostedItem)
{
        Person p = new Person(PostedItem["ID"]);
        p.Name = PostedItem["Name"];
        p.Update();
} 

Я бы предположил, что FormCollection более эффективен, поскольку процесс отражения привязки к модели не должен происходить, однако лучше иметь что-то строго типизированное.

Есть ли альтернативный подход? Есть ли что-то еще, что можно добавить в параметры редактирования, которые передают опубликованные данные?

Спасибо

1 Ответ

3 голосов
/ 15 мая 2009

Я думаю, что производительность отражения здесь совершенно не важна. Черт, это может быть даже быстрее, чем индексирование строк - я никогда не удосужился измерить. Какова бы ни была реальная стоимость, она почти наверняка затмится из-за стоимости сохранения изменений в БД. Кроме того, изменения (в отличие от загрузки страниц) не происходят так часто, что ваш сервер будет загружен за несколько миллисекунд.

Первое правило реальной оптимизации - профилировать ваше приложение и оптимизировать только те части, которые на самом деле медленные!

...