日期:2014-05-17  浏览次数:20632 次

MVC初级问题
新建一个默认MVC4.0 的Web程序后,所连接的数据库会自动创建下面这几张表:
UserProfile
webpages_Membership
webpages_OAuthMembership
webpages_Roles
webpages_UsersInRoles
请问这几张表是怎么创建的,怎么和Model关联的,Model自动建表的规则是什么?
给个参考资料的地址也行,谢谢!!

------解决方案--------------------
这些东西都是跟ASP.NET的那套权限模块有关系的。Membership什么的,都是ASP.NET自带的类。好像那个东西现在用的不多了。
------解决方案--------------------
和Model没有关系。

是你使用了Form验证,然后在Web.Config配置了默认的SqlMemberShipProvider。框架会将这个注入到AccountController的service对象中。当你调用其中的什么CreateUser、Login之类的方法的时候,就会由SqlMemberShipProvider根据你的连接字符串自动创建数据库和访问数据库。
------解决方案--------------------
这些表应该是你自定义的,用户成员表,角色表,用户归属角色表,model的定义和你的实体表结构一样,也就是映射关系,就是为了方便方便开发而建立的关系


------解决方案--------------------
在web.config中有
<profile defaultProvider="DefaultProfileProvider">
<membership defaultProvider="DefaultMembershipProvider">
<roleManager defaultProvider="DefaultRoleProvider">
应该就是这些了~,在webform的时候要自己运行
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
才会生成对应的表 当然你也可以不创建任何项目 然后运行上面程序 你可以试试

怎么和Model关联的,Model自动建表的规则是什么?
现在EntityFramework有3种创建模式
Db first 先创建数据库,然后根据数据库生成Model
ModelFirst 在vs的某个模版中创建,会生成数据库
CodeFirst  自己敲实体的代码,最后会生成数据库

你可以搜搜EntityFramework + CodeFirst Db first  ModelFirst  
应该会找到不少资料~