zoukankan      html  css  js  c++  java
  • ASP.NET MVC- EF基础

      

      EF是在ADO.NET的基础上做进一步封装,以后如果做新的项目我可能会考虑不用ADO.NET,而用EF。

      其实很久以前我就接触过EF,可是太久没用,有些忘记了,前几天重温,也做了一点笔记。记录如下:

      

      

      1.怎么创建EF不说了,看一下创建EF后,打开EF的XML文件是怎样的。

      首先右键,选择打开方式为XML文本

      

      折叠后这里的 SSDL Content定义的是SqlServer里的数据库字段
             CSDL Content定义的是类的属性字段
             CS MAPPING  定义的是数据库字段与类的属性字段间的映射

      

      2.看一下tt模板

      

      以前EF没有tt模板,现在加了,如果看得懂源码,是可以修改他的代码生成规则的,不过一般情况不用修改到它。

      这里的ModelGuestBook.Context.tt后缀的是生成对象接口的代码

      这里的ModelGuestBook.tt后缀的是生成Model类的代码。

      3.看一下EF生成的数据库连接字符串

    <add name="CcxDemoEntities" connectionString="metadata=res://*/ModelGuestBook.csdl|res://*/ModelGuestBook.ssdl|res://*/ModelGuestBook.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=CcxDemo;User ID=sa;Password=123456;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

      

      加入了映身后变得长了许多。还是要以清楚看得数据库是改里,密码和用户名是改里,IP是改哪里的。

      4.看一下增删查改的用EF的实现,变得多简洁

     CcxDemoEntities db = new CcxDemoEntities();
            
            protected void Page_Load(object sender, EventArgs e)
            {
                
            }
            //新增
            protected void Button1_Click(object sender, EventArgs e)
            {
                gBook_Message gbookObj = new gBook_Message();
                gbookObj.username = "ccx";
                gbookObj.body = "hello world";
                gbookObj.ip = "127.0.0.1";
                gbookObj.createdate = DateTime.Parse("2014-12-12");
                
                db.gBook_Message.Add(gbookObj);
                db.SaveChanges();
    
                Response.Write("ok!!");
    
            }
            //修改
            protected void Button2_Click(object sender, EventArgs e)
            {
                //将对象查找出来
                var gbookObj = db.gBook_Message.Where(g => g.username == "ccx").FirstOrDefault();
                //修改的内容
                gbookObj.username = "chunxiao";
                //执行修改
                db.SaveChanges();
    
    
            }
            //删除
            protected void Button3_Click(object sender, EventArgs e)
            {
                gBook_Message gbookObj = new gBook_Message();
                gbookObj.id = 1;
                //将对象加进来
                db.gBook_Message.Attach(gbookObj);
                //标记为删除
                db.gBook_Message.Remove(gbookObj);
                //执行删除
                db.SaveChanges();
            }
  • 相关阅读:
    ArcGIS 10与ArcEngine 10安装及破解
    SQL Server:触发器详解
    sql事务(Transaction)用法介绍及回滚实例
    Brief Tour of the Standard Library
    Python Scopes and Namespaces
    Saving structured data with json
    Packages
    “Compiled” Python files
    Executing modules as scripts
    More on Conditions
  • 原文地址:https://www.cnblogs.com/cxeye/p/4080382.html
Copyright © 2011-2022 走看看