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
前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时 ...
随机推荐
- Xcode真机调试中"There was an internal API error"错误解决方法
xcode7更新之后使用真机调试,在IOS8的一台iphone6也没问题.IOS9.2的一台iphone6s也没问题.但是在IOS7.0的一台iPhone4s上面在最后安装的时候居然安装失败,提示 T ...
- datagridview设置currentrow为指定的某一行[转]
最近由于程序需要,需要实现指定的行为datagridview的currentrow ,当我设置 dataGridView1.Rows[i].Selected = true时,刷新后,界面显示是当前行被 ...
- 通过PowerShell发送TCP请求
很多时候我们需要通过Socket发送特定的TCP请求给服务器的特定端口来实现探测服务器的指定端口所开启的服务.很多语言都有相应的方法实现上述需求,当然,PowerShell也不例外,比如我们要发送一个 ...
- Raft论文的一些问题
抛些问题出来,真正解释了这些问题才算理解了论文.:) 1. 什么是复制状态机 2. Raft vs Paxos 3. Raft的设计目标understandability,为达到设计目标在做设计时如何 ...
- MARIADB 在 OPENSUSE 的安装。
1.MARIADB 在 OPENSUSE 的安装或者升级 (参考 Setting up MariaDB Repositories ) OPENSUSE 从 12.3 版本开始,默认带有 MARI ...
- 从今天起,记录CEF使用开发心得经验
已经使用CEF来呈现桌面程序界面大半年了,从来没有写过相关博文.发现网上的中文资料甚至英文已经无法满足我的开发需求,不少问题只得自己探索.在此先谢过网络上各位CEF使用开发博文的贡献者,没有你们我也难 ...
- 参照nopCommerce框架开发(NextCMS)
很久没有更新博客了,现在已经不写.NET,转前端半年多了. 半年前在创业公司,做电子商务网站,用的是NopCommerce框架(3.2),这个框架还是相当不错的,经过一段时间的摸索,基本入门,于是就开 ...
- KIS旗舰版常用数据表
select * from IC_Web2ERPOrders --网上订单 FOrderStatus 14--已发货,6--待发货,2--待配货,1--未审核 (审核后变为2,进入待配货)sele ...
- JS思维之路菜鸟也能有大能量(2)--模拟数组合并concat
我们有两个这样的数组 var arr1 = [1,2,3]; var arr2 = [4,5,6]; 任务:合并成这样,请至少提供两种思路. var arr1 = [1,2,3,4,5,6]; 思路一 ...
- 正确理解静态Static关键字
与其他语言不通,C#没有全局变量和全局函数的感念,C#的所有字段和方法都出现在一个类的上下文中,在C#中与全局字段或函数等价的就是静态字段或方法.“全局字段或方法”与“C#的静态字段或方法”没有功能上 ...