ASP.NET MVC4 数据库连接(EF6.0)
我的博客原文地址:http://www.star110.com/Note/ReadArticle/60641215331146140041.html
环境:.NET MVC4 + EF6.0
连接数据库的方式有很多,这里我暂时只讲一种,因为我觉得这种方式思路比较清晰,也比较灵活,下面就让我开始吧,希望大家能够看懂。
1、新建一个实体数据模型叫做WebERPDAL,请看图操作


根据提示,完成后面的操作。
2、然后我们需要建立数据库模型以及映射关系,新建两个文件,分别叫做ERPModel.cs和ERPModelMap.cs
ERPModel.cs中我们存放数据模型,ERPModelMap.cs中我们对数据模型进行数据库映射
3、建立数据模型
将下面代码放入ERPModel.cs文件中
public class UserInfo
{
public int id { set; get; }
//用户名
public String username { set; get; }
//昵称
public String nickname { set; get; }
//用户密码
public String password { set; get; }
//用户组
public int usergroup { set; get; }
//创建时间
public DateTime createtime { set; get; }
//邮箱
public String email { set; get; }
//这一句外键关系用到,关联用户组权限表
public virtual UserGroup UserGroup { set; get; }
}
public class UserGroup
{
public int id { set; get; }
//用户组名称
public String usergroup { set; get; }
//用户组权限
public int grouproot { set; get; }
//外键关系用到,关联用户信息表
public virtual ICollection<UserInfo> UserInfo { set; get; }
}
4、建立数据库与模型映射
将下面代码放入ERPModelMap.cs中
public class UserGroupMap:EntityTypeConfiguration<UserGroup>
{
public UserGroupMap()
{
this.HasKey(t => t.id);
this.ToTable("UserGroup");
this.Property(t => t.id).HasColumnName("id");
this.Property(t => t.grouproot).HasColumnName("grouproot").IsRequired();
this.Property(t => t.usergroup).HasColumnName("usergroup").IsRequired();
}
}
public class UserInfoMap : EntityTypeConfiguration<UserInfo>
{
public UserInfoMap()
{ this.HasKey(t => t.id);
this.ToTable("UserInfo");
this.Property(t => t.id).HasColumnName("id").IsRequired();
this.Property(t=>t.username).HasColumnName("username").IsRequired().IsUnicode();
this.Property(t => t.nickname).HasColumnName("nickname").IsRequired();
this.Property(t => t.password).HasColumnName("password").IsRequired();
this.Property(t => t.usergroup).HasColumnName("usergroup").IsRequired();
this.Property(t => t.createtime).HasColumnName("createtime").IsRequired();
this.Property(t => t.email).HasColumnName("email");
//定义外键关系
this.HasRequired(t=>t.UserGroup).WithMany(t=>t.UserInfo).HasForeignKey(t=>t.usergroup);
}
}
5、连接数据库,映射模型
在WebERPDAL类中:
并为模型中包含的每种实体类型都添加 DbSet
public virtual DbSet<UserGroup> UserGroup { set; get; }
public virtual DbSet<UserInfo> UserInfo { set; get; }
重载方法OnModelCreating
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new UserGroupMap());
modelBuilder.Configurations.Add(new UserInfoMap());
base.OnModelCreating(modelBuilder);
}
最后在Web.config中配置数据库连接
例如:
<connectionStrings>
<add name="WebERPDAL" connectionString="data source=[服务器地址];initial catalog=[数据库名];user id=[用户名];password=[数据库密码];MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
6、使用方法之查询:
WebERPDAL db = new WebERPDAL();
UserInfo user = db.UserInfo.Where(t => t.username == "用户1").Where(t => t.password == "").FirstOrDefault();
7、使用方法之修改:
WebERPDAL db = new WebERPDAL();
UserInfo info = new UserInfo();
info.password = "";
db.Entry(info).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
ASP.NET MVC4 数据库连接(EF6.0)的更多相关文章
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理1
首先给上项目的整体框架图:,这里我没有使用BLL,因为感觉太烦了就没有去使用. 那么接下来我们首先先去Model层中添加Model. 管理员类: using System; using System. ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理3
首先在webconfig中加入下面这句代码,这个主要是用来生成数据库的连接字符串 <connectionStrings> <add name="AuthorDesignCo ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理4
首先先加个区域,名为Admin using System.Web.Mvc; namespace AuthorDesign.Web.Areas.Admin { public class AdminAre ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理5
我们先直接拷贝下blank.html这个页面的代码,顺带先建立一个Home控制器,并添加Index视图.将代码拷贝进去. <!DOCTYPE html> <html lang=&qu ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理6
接下来先做角色这一板块的(增删改查),首先要新建一个Role控制器,在添加一个RoleList的视图.表格打算采用的是bootstrap的表格. using System; using System. ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理7
做完角色之后接下来做先做页面按钮的增加.删除.修改.这里用到的功能和角色那边是一样的.就不多说了.直接上代码. 后台控制器代码 using AuthorDesign.Web.App_Start.Com ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理8
接下来做的是对页面的增删改查与页面与页面按钮之间的联系.先上代码和页面效果 using AuthorDesign.Web.App_Start.Common; using System; using S ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理9
前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时 ...
随机推荐
- 如何升级TeX Live 2014宏包
转:人大经济论坛 LATEX论坛 版,详细出处参考: http://bbs.pinggu.org/forum.php?mod=viewthread&tid=3370640&page=1 ...
- EntityFramework Code First 添加唯一键
在EntityFramework 6.1后可以直接使用 [Index("TitleIndex", IsUnique = true)] public string Title { g ...
- 一种线程安全的handle
对象引用的正确性在多线程环境下是一个复杂的问题,请参考,处理由引用计数引起的泄漏.简单来说,我们应该尽量减少使用强引用,否则将有可能产生[处理由引用计数引起的泄漏]一文中描述的难以察觉的内存泄漏问题. ...
- dWebBrowser常用知识点
1.webbrowser调用的就是本机IE,并且webbrowser默认就是运行在IE7 mode下,除非你改变它. 2.不装IE,无法用webbrowser. 3.设置WebBrowser在IE9 ...
- 删除Visual Studio Online 中团队项目
最新文章:Virson's Blog 方法1:使用TFSDeleteProject删除: 1).在本地Visual Studio中登录云端TFS服务器: 2). 连接成功之后,打开VS命令工具,下图红 ...
- WPF读写config配置文件
1. 在你的工程中,添加app.config文件.文件的内容默认为: 1 <?xml version="1.0" encoding="utf-8" ?&g ...
- mysql查看和修改最大数量
通常,mysql的最大连接数默认是100, 最大可以达到16384.1.查看最大连接数:show variables like '%max_connections%';2.修改最大连接数方法一:修改配 ...
- tomcat的网站屏蔽IP的方法
<Host> <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny=" ...
- Django:Model的Filter
转自:http://www.douban.com/note/301166150/ django model filter 条件过滤,及多表连接查询.反向查询,某字段的distinct 1.多表 ...
- 利用SSIS发送邮件
璎Nicole珞 博客园 闪存 首页 新随笔 联系 管理 订阅 随笔- 15 文章- 0 评论- 0 SSIS 利用发送邮件服务 Send Email Task 1. 在SSIS中如何发送邮 ...