es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo eliminar la duplicación de la columna UserId en ASP.NET Identity

En mi proyecto .NET, he creado una clase llamada “ApplicationUser” que hereda de IdentityUser de la siguiente manera:

namespace ToDo.Models
{
public class ApplicationUser : IdentityUser
{
public ICollection Tasks { get; set; }
public ICollection Categories { get; set; }
}
}

y estableciendo una relación uno a muchos con la clase “category” de la siguiente manera:

namespace ToDo.Models
{
public class Category
{
public int CategoryId { get; set; }
[Required(ErrorMessage = “Category Name is required.”)]
public string CategoryName { get; set; }
public string UserId { get; set; }
public ICollection Tasks { get; set; }
public ApplicationUser ApplicationUser { get; set; }
}
}

Pero cuando creo una nueva categoría, va a la base de datos con dos columnas para los Id’s, el primero es UserId y el segundo es ApplicationUserId, que no he creado, ¿alguien podría ayudarme por favor?
¡Gracias de antemano!
y también Aquí hay una imagen de la base de datos.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que has creado una relación uno a muchos entre las clases ApplicationUser y Category. Sin embargo, al crear una nueva categoría, dos columnas están siendo añadidas a la base de datos – UserId y ApplicationUserId.

    Esto probablemente se deba al hecho de que la clase ApplicationUser hereda de IdentityUser, que tiene su propia propiedad Id. Para resolver este problema, puedes remover la propiedad UserId de la clase Category, o renombrar la propiedad ApplicationUserId a UserId.

    ¡Espero que esto ayude!

Comments are closed.