That POCO class is a bit mangled: You've declared almost the entire row as a composite key!
Now, assuming that class represents a row in the Users table, strip the key and column order decorations off everything but the UsersId:
public class Users
{
[Key]
public Guid UsersID { get; set; }
[StringLength(15)]
public string LoginName { get; set; }
[StringLength(1500)]
public string Password { get; set; }
public Guid? RoleID { get; set; }
[StringLength(3)]
public string UserType { get; set; }
public bool? SuperUser { get; set; }
public bool IsActive { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedDate { get; set; }
}
The next bit I have some "best practices" type of items, so you can ignore the items in there if you really like. I would highly suggest taking a look at least to get some ideas about how to structure your data and the constraints on it, though.
We can make some other fixes. First, you have nullables where you really shouldn't; always define a role for users, even if you use a default guest role. A null value can lead to unexpected results when processing security code. Also, it seems logically clear that a user is a SuperUser, but this is best encapsulated by a role. It also looks like you want to define a couple of relationships in there, so let's do that:
public class Users
{
[Key]
public Guid UsersID { get; set; }
[MinLength(3), MaxLength(15)]
public string LoginName { get; set; }
[MaxLength(1500)]
public string Password { get; set; }
public Guid RoleID { get; set; }
public bool IsActive { get; set; }
public Guid CreatedById { get; set; }
public DateTime CreatedDate { get; set; }
[ForeignKey("RoleID")]
public virtual Role Role { get; set; }
[ForeignKey("CreatedById")]
public virtual Users CreatedBy { get; set; }
}