Как вы получаете доступ к базе данных? Если вы используете ORM (например, NHibernate или LINQ to SQL), то объект должен иметь обновленное свойство ID после его вставки в базу данных.
Если вы запускаете SQL вручную, вам нужно сделать выбор в том же операторе, что и вставка:
insert into ...
select scope_identity()
Это вернет идентификатор строки, которую вы только что создали.
Тогда вы можете сделать это в вашем действии:
return RedirectToAction("YourActionName", new {id});
С идентификатором, полученным либо из сохраненного объекта, либо из возвращаемого значения SQL. Какой бы ни подходил к вашему сценарию.
Редактировать
Как вы уже упоминали, вы используете NHibernate, тогда вы можете сделать это:
var myNewObject = // some way of creating the object
// some way of saving the object
// at this point NHibernate will have set the ID of the object for you
return RedirectToAction("YourActionName", new { id = myNewObject.Id });