好的,我正在加入Simplemembership。
模型UsersProfiles
namespace OilNGasWeb.Models
{
[Table("Users")]
public class UserProfiles
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
public string Initials { get; set; }
public string Company { get; set; }
public string Department { get; set; }
public string Title { get; set; }
public string Team { get; set; }
public string TeamSub { get; set; }
public string Phone { get; set; }
public string ImageLocation { get; set; }
public string CurrentlyAuthorized { get; set; }
public string Note { get; set; }
public string Comment { get; set; }
//public virtual dbClient Client { get; set; }
public virtual ICollection<Roles> Roles { get; set; } //many to many
public virtual ICollection<dbClient> Clients { get; set; } // many to many
}
}
角色
namespace OilNGasWeb.Models
{
[Table("webpages_Roles")]
public class Roles
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
[Required(ErrorMessage = "Required")]
public int RoleID { get; set; }
[Required(ErrorMessage = "Required")]
public string RoleName { get; set; }
public virtual ICollection<UserProfiles> UserProfiles { get; set; } //many to many
}
}
我现在的问题是我创建了多对多的表,就像我在修改之前看到的那样创建我的问题是如何让这些表重命名
webpages_UsersInRoles
我宁愿不进入SSMS并在物理上更改它们而不是告诉MVC使用不同的实例
从上面的代码中生成的 RolesUserProfiles 而不是webpages_UsersInRoles
错误显示程序何时尝试@if(User.IsInRole(“Administrator”))验证用户。
当然,我在 IsInRole 上点击了F12,带我进入定义....
确实如此,但那里全是空的
现在怎样?如果它隐藏起来,我怎么能重新编码呢?代码在哪里,以及如何修改它?
我想要的是
提前致谢。
答案 0 :(得分:1)
您无法重命名表格。表名在SimpleMembership中进行了硬编码。你可以在这里看到源代码:
不要使用EF导航属性。您应该通过Membership或WebSecurity API来访问此信息。
如果你真的想这样做,那么你需要配置EF以使用简单成员资格所需的表名,这意味着使用流畅的映射语法......这不是很直观。