我的博客原文地址: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)的更多相关文章

  1. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

    这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...

  2. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理1

    首先给上项目的整体框架图:,这里我没有使用BLL,因为感觉太烦了就没有去使用. 那么接下来我们首先先去Model层中添加Model. 管理员类: using System; using System. ...

  3. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理3

    首先在webconfig中加入下面这句代码,这个主要是用来生成数据库的连接字符串 <connectionStrings> <add name="AuthorDesignCo ...

  4. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理4

    首先先加个区域,名为Admin using System.Web.Mvc; namespace AuthorDesign.Web.Areas.Admin { public class AdminAre ...

  5. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理5

    我们先直接拷贝下blank.html这个页面的代码,顺带先建立一个Home控制器,并添加Index视图.将代码拷贝进去. <!DOCTYPE html> <html lang=&qu ...

  6. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理6

    接下来先做角色这一板块的(增删改查),首先要新建一个Role控制器,在添加一个RoleList的视图.表格打算采用的是bootstrap的表格. using System; using System. ...

  7. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理7

    做完角色之后接下来做先做页面按钮的增加.删除.修改.这里用到的功能和角色那边是一样的.就不多说了.直接上代码. 后台控制器代码 using AuthorDesign.Web.App_Start.Com ...

  8. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理8

    接下来做的是对页面的增删改查与页面与页面按钮之间的联系.先上代码和页面效果 using AuthorDesign.Web.App_Start.Common; using System; using S ...

  9. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理9

    前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时 ...

随机推荐

  1. css blur 的兼容写法

    出自:小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 .blur { filter: url(blur.svg#blur); /* IE10, IE11 */ -webkit-filter: b ...

  2. SQL SERVER 服务启动后停止,某些服务由其它服务或程序使用时将自动停止

    发生症状: 先是服务器挂掉,之后服务器可以登陆,但是实例却不能登陆进去(部分).出现的错误日志如下: :: R2 (SP2) - 10.50.4000.0 (X64) Jun :: Copyright ...

  3. popupwindow 与 输入法

    有时候popupwindow会被输入法覆盖, 有时候popupwindow会被输入法给顶上去. 而且这个问题还跟theme的windowFullscreen属性相关. 不过这些可以都不用管, 根据项目 ...

  4. Spring进阶教程之在ApplicationContext初始化完成后重定义Bean

    前言 很久没有写博客了,也是两个原因:一是自己觉得一直在班门弄斧,其实自己没什么技术可言:二是很多朋友的问题实际上可以自行解决,我经常觉得不该我来过问,或者是有时候我认为技术还得靠自己钻研,我一两句话 ...

  5. 调用 google speech api (使用Google语音识别引擎)

    完全参考自: http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/ http://aiku.me/bar/104480 ...

  6. ivqBlog 开源博客 (angularjs + express + mongodb)

    转向做全职前端差不多一年的时间了,其中学习了构建工具grunt,gulp,angularjs,coffeescript,less,sass,自己想要做全栈开发,所以自学了mongodb,nodejs, ...

  7. IOS内存管理学习笔记

    内存管理作为iOS中非常重要的部分,每一个iOS开发者都应该深入了解iOS内存管理,最近在学习iOS中整理出了一些知识点,先从MRC开始说起. 1.当一个对象在创建之后它的引用计数器为1,当调用这个对 ...

  8. POJ 1012 Joseph

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44650   Accepted: 16837 Descript ...

  9. NetBPM的安装 -转

    NetBPM的安装还是比较简单的,有比较详细的文档. 1.当然是先下载运行程序了, netbpm-0.8.3.1.zip ,官方网站:http://www.netbpm.org:2.然后解压后自己看 ...

  10. CSS之边框覆盖

    今天想做一个淘宝导航来练练手,遇到了边框覆盖的问题.如下图: li的红色边框盖不住该灰色边框.后来问经验人士告诉我,这种边框覆盖是会出现无法100%保证正常的情况,遂得到如下3中解决方案: 1.以后遇 ...