• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETMVC4数据库连接(EF6.0)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我的博客原文地址: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 == "1234").FirstOrDefault();

7、使用方法之修改:

WebERPDAL db = new WebERPDAL();
UserInfo info = new UserInfo();
info.password = "7777";
db.Entry(info).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net(c#)常用正则表达式实例发布时间:2022-07-10
下一篇:
Asp.net基础概念整理(一)Web应用程序和网站的区别发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap