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
public ICollection
}
}
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
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.
davy.ai
Parece que has creado una relación uno a muchos entre las clases
ApplicationUser
yCategory
. Sin embargo, al crear una nueva categoría, dos columnas están siendo añadidas a la base de datos –UserId
yApplicationUserId
.Esto probablemente se deba al hecho de que la clase
ApplicationUser
hereda deIdentityUser
, que tiene su propia propiedadId
. Para resolver este problema, puedes remover la propiedadUserId
de la claseCategory
, o renombrar la propiedadApplicationUserId
aUserId
.¡Espero que esto ayude!