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
前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时 ...
随机推荐
- WebRTC is for Losers:WebRTC是输家
该文章是引述,仅代表作者Dave Michels观点 WebRTC is for Losers WebRTC technology has fallen short on many of its pr ...
- Quartz 2D绘制简单图形
在Quartz 2D中,绘图是通过图形上下文进行绘制的,以下绘制几个简单的图形 首先先创建一个QuartzView.swift文件继承自UIView,然后实现drawRect方法: import UI ...
- Linux 升级 Python 至 3.x
https://docs.python.org/3.5/library/json.html 在线手册 (1)下载wget https://www.python.org/ftp/python/3.5.2 ...
- Java模式(适配器模式)【转载】
转载地址: http://blog.csdn.net/elegant_shadow/article/details/5006175 今天看了下Java中的适配器模式,以下就来小做下总结和谈谈感想,以便 ...
- State状态设计模式
1.状态模式:改变对象的行为 一个用来改变类的(状态的)对象. 2:问题:当你自己实现 State 模式的时候就会碰到很多细节的问题,你必须根据自己的需要选择合适的实现方法, 比如用到的状态(Stat ...
- 使用B或BL跳转时,下一条指令的地址是这样计算的
B跳转指令:它是个相对跳转指令,其机器码格式如下: [31:28]位是条件码:[27:24]位为“1010”(0xeaffffff)时,表示B跳转指令,为“1011”时,表示BL跳转指令:[23:0] ...
- Swift 函数
1: 函数形式: Swift函数以关键字func 标示.返回类型->后写明.如果没有返回类型可以省去.多个参数用,分割.其中参数名字在前:类型描述 func GetName(strName:St ...
- 未知高度定宽div水平居中及垂直居中(兼容ie6及其他牛逼浏览器)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 基于安卓高仿how-old.net实现人脸识别估算年龄与性别
前几段微软推出的大数据人脸识别年龄应用how-old.net在微博火了一把,它可以通过照片快速获得照片上人物的年龄,系统会对瞳孔.眼角.鼻子等27个“面部地标点"展开分析,进而得出你的“颜龄 ...
- Chart 点击获取坐标
private void chart2_MouseMove(object sender, MouseEventArgs e) { if (!this.DesignMode) { ].AxisX.Sca ...