ASP.NET MVC y EF5 - Crear tipo de columna datetime2, propiedad clave

Pregunta 1.

He creado una base de datos en código primero.

[Column(TypeName="datetime2")]
public DateTime RegistDate { get; set; }

De esta forma, la tabla no se crea.

modelBuilder.Entity<Test>().Property(f => f.RegistDate).HasColumnType("datetime2");

(En el método OnModelCreating) puedo resolverlo usando Fluent API.

Para crear un formato de columna datetime2, ¿hay alguna forma solo de una API fluida?

Pregunta 2.

Tengo un modelo de dominio de la siguiente manera.

Clase de entidad de usuario

public class User
{   
    public Guid UserId { get; set; }
    public string UserName { get; set; }
    public string Password { get; set; }
    public string UserEmail { get; set; }
    public DateTime JoinDate { get; set; }
    public DateTime LoginDate { get; set; }

    public virtual ICollection<UsersInRole> UsersInRoles { get; set; }
}

Clase de entidad de rol

public class Role
{
    public Guid RoleId { get; set; }
    public string RoleName { get; set; }
    public DateTime CreateDate { get; set; }

    public virtual ICollection<UsersInRole> UsersInRoles { get; set; }
}

Clase de entidad UsersInRole

public class UsersInRole
{   
    public Guid UserId { get; set; }
    public Guid RoleId { get; set; }
    public DateTime SetDate { get; set; }

    [ForeignKey("UserId")]
    public User User { get; set; }
    [ForeignKey("RoleId")]
    public Role Role { get; set; }
}

Esta compilación, se producirá el siguiente error

One or more validation errors were detected during model generation:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'UsersInRole' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'UsersInRoles' is based on type 'UsersInRole' that has no keys defined.

No quiero agregar otra identificación de propiedad.

Además, no puedo usar la [Clave] UserId, para RoleId.

¿No hay otras soluciones?

preguntado el 16 de abril de 13 a las 08:04

Para su segunda pregunta, puede crear una clave compuesta. Puede obtener más información sobre la creación de claves compuestas desde el enlace stackoverflow.com/questions/5436731/… -

La segunda pregunta ha sido resuelta ver el enlace del artículo. Gracias ~ -

La respuesta a la pregunta 1 está aquí: stackoverflow.com/questions/8043816/… -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.