我的博客原文地址: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. SAP ECC PP 配置文档

    SAP ECC 6.0 Configuration Document Production Planning & Control (PP) 1. General Settings 1.1 Ma ...

  2. RPM 包下载 GCC 4.8安装

    http://ftp.scientificlinux.org/linux/scientific/ http://www.rpmfind.net/linux/rpm2html/search.php?qu ...

  3. [转]两种Sigma-Delta ADC SNR仿真方法

    假设现有一组Sigma-Delta ADC输出序列,下面将介绍两种计算出相应SNR的方法.其中由cadence导出数据的CIW窗口命令为:ocPrint(?output "输出目录/输出文件 ...

  4. url rewrite

    http://www.microsoft.com/taiwan/technet/iis/expand/URLRewrite.aspx http://www.iis.net/learn/extensio ...

  5. 何为.Net Remoting【转】

    借助基维百科给它的定义如下: NET Remoting 是微软 .NET Framework 中的一种网络通讯技术,与 XML Web Service 不同的是,它可以使用 SOAP 以外的协定来通讯 ...

  6. QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)

    最近这阵子,接了个私活,封装一个开发包俗称的SDK给客户调用,查阅了很多人家的SDK,绝大部分用VC编写,而且VC6.0居多,估计也是为了兼容大量的XP用户及IE浏览器,XP自带了VC6.0运行库,所 ...

  7. 节日EDM系列:圣诞节如何进行EDM数据营销

    消费关系升级,消费者看中的早已不是产品本身,场景消费以及消费带来的价值感体验已成为影响消费的重要因素.圣诞将至,如何才能将圣诞节EDM数据营销的效果发挥到极致? ①  节日元素创意融合,高辨识度加深品 ...

  8. drupal7 form模板复写方法

    给form制作一个template 从官方的drupal api document中可得到form有#theme这个参数,它可以指定form使用一个模板来用于form的基本布局,#theme的值必须是 ...

  9. hybrid开发设计

    hybrid方案背景 大部分业务都是在不停改变的,我们希望native不发布新版本就可以让线上用户使用新功能.我们要实现这样的方式,采用h5来实现就可以满足这一要求,准确说是native里提供一个装载 ...

  10. 在线头像上传(js)

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...