C#MVC4基础(三)(数据建模(一)(为数据库建立模型))

ORM概述

大中型软软件开发过程中常会使用到ORM技术,ORM全称是“对象一关系映射”。ORM是将关系数据库中的数据用对象的形式表现出来,并通过面向对象的方式将这些对象组织起来,实现系统业务逻辑的过程。
ORM(O→类,R→联系→数据库中关系表,M→对象和数据库关系表的映射关系)
优势
避免操作数据库代码的重复性(自动生成增删改查操作代码)
避免大量SQL语句影响程序的扩展性和灵活性(ORM编写一次代码,即可适用于多种数据库)

Database First模式

数据库优先(先创建数据库,后生成数据模型)
使用VisualStudioEF模型设计器,根据数据库生成数据模型,使用EF模型设计器可以随时修改数据模型并更新数据库。

生成模型数据

  1. 创建ASP.NET MVC应用程序后,按下“Shift+Ctrl+A”快捷键(or右键Models→添加→填加新项)→数据→ADO.NET 实体数据模型,设置名称Model1
  2. 从数据库生成→下一步
  3. 新建连接
  4. 服务期名输入.表示本地(location),如果SQL server登录,自己输入用户名密码就行,然后选择数据库→确定
  5. 将Web.Config的实体连接另存为(2)→下一步
  6. 根据自身需求选择表,视图,存储数据,更改模型命名空间(3)以及一些其他的设置→完成

PS:EF向导自动生成(2)类,称为数据库上下文操作类(实体容器名称),位于/Models/Model1.Context.tt/Model1.Context.cs。同时生产(3)类,称为实体业务类,位于/Models/(1).tt

自动生成增删改查

  1. 点击/Models/Model1→点击空白区域→查看属性,代码生成策略更改为默认值
  2. 项目→重新生成
  3. 删除Models下的Model1.Content.tt和Model1.tt
  4. Controller右键→添加→控制器
  5. 模板改成包含读/写操作的和视图的MVC控制器,选择对应的模型类和数据库上下文类→确定

手动敲增删改查

记得引用models文件夹,因为都在里面数据建模的数据
增删查改应写在不同的方法中,为了便于观看就写一起了。
记得对数据库操作时using(数据库上下文类名 q(变量名)= new 数据库上下文类名)然后在{}写对应的增删查改就行了。
如果是对数据库进行增删改的话,记得q.SaveChangges()保存到基础数据库就行了

using (kslEntities2 q = new kslEntities2())
            {
                ksl_ft k = new ksl_ft();
                k.Name = "1";
                Rank r = new Rank();
                r.Rid = 2;
                k.Rank = r;
                k.Time = DateTime.Now;
                //增
                q.ksl_ft.Add(k);
                q.SaveChanges();

                //删
                q.ksl_ft.Remove(k);
                q.SaveChanges();

                //查,默认主键id
                var a=q.ksl_ft.Find(1);
                ViewBag.Name = a.Name;
                ViewBag.Rid = a.Rank.Rid;

                //改
                var b = q.ksl_ft.Find(1);
                a.Rank.Rid = 3;
                q.SaveChanges();

            };

            return View();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值