He creado una tabla en la base de datos que tiene un System.Guid como clave principal. Se ha generado el modelo requerido de ADO.Net Entity Framework y se han asignado los procedimientos almacenados necesarios.¿Cómo utilizar un System.Guid como clave principal en ASP.Net MVC?
Creé un nuevo controlador y agregué el código requerido básico para Crear y Editar para los datos. Sin embargo, cuando el clic en el enlace para editar el un registro en particular se genera el siguiente error:
The parameters dictionary contains a null entry for parameter '[MyId]' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult Edit(System.Guid)' in '[MySite].[MyController].[SpecificController]'. To make a parameter optional its type should be either a reference type or a Nullable type. Parameter name: parameters
La acción de edición se declara en el controlador de la siguiente manera:
public ActionResult Edit(Guid itemId)
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(MyItem itemToModify)
{
}
Al añadir un nuevo registrar el nuevo Guid se genera a través de un Procedimiento almacenado y la lista muestra el Guid correcto. La URL también está pasando el Guid correcto para su recuperación.
Parece que no puedo capturar el punto en el que esto falla, pero ¿cómo haría para pasar un System.Guid como parámetro al Controller?
Ahora me siento estúpido por preguntar :( – BinaryMisfit
No te preocupes, la única razón por la que sabía que la respuesta es que hice lo mismo una vez y tuve que resolverlo. – tvanfosson