• 第二篇:使用Visual Studio 2008进行数据层开发


    本系列目录

    LINQ是Visual Studio 2008在重要内容之一,本节也主要是介绍如何利用LINQ来构建我们的数据层。
    在本篇文章中用到了C#3.0的新特性,不了解的朋友可以到我的另一个系列《C#3.0 为我们带来什么》中查看,本篇中不再做过多介绍。
    在数据库中建立CityModuleProvinceUser、UserGroup 5个表,如图1。

     
    图1


    数据库脚本
    Code
    打开上次创建的项目,按下Ctrl+W再按下Ctrl+L使用组合快捷键打开Server Explorer面板。

     
    图2

     点击黄色区域,添加数据链接,弹出如图3所示窗口.


    图3

    输入服务器名称及用户名、密码,并选择执行脚本的数据库,确定完成。
    通过图4中展开的菜单,建立数据库连接。将上面的SQL脚本粘贴进打开的编辑器,按下F5执行向数据表插入演示数据。


    图4

    选中我们的项目使用快捷键Ctrl+Shift+A 选中Data,选中Linq to Sql Classes类型的文件,输入名称SecurityData.dbml按下确定


    图4
    将图5中的5个表拖放到图6中的黄色位置。

     
    图5


    图6

     保存文件,这样我们的数据库映射就建好了。

      好,我们介绍下如何使用这个映射。创建一个WebForm,并在WebForm的OnLoad函数中输入下列代码来测试。

    1            SecurityDataDataContext db = new SecurityDataDataContext();
    2            var a = db.Users;
    3            var b = a.GetNewBindingList();

    在第一行设置断点。将刚创建的webform设为起始叶,按F5调试程序。打开Sql Server Profiler 连接到我们的数据库并开始跟踪。按下F10程序运行完第一行,通过Sql Server Profiler可以发现此时并未执行任何sql操作。F10继续运行第二行依然没有执行,继续。可以发现此时我们的程序建立了数据库连接,并且执行了下列sql。

    SELECT [t0].[UserID][t0].[UserName][t0].[Password][t0].[NickName][t0].[GroupID][t0].[ProvinceID][t0].[CityID][t0].[EMail][t0].[Question][t0].[Answer][t0].[Birthday][t0].[RealName][t0].[Sex]
    FROM [dbo].[Users] AS [t0]

    说明LINQ通过数据映射生成了SQL,并返回了数据。好,我们看看它返回给我们什么。


    图7

    通过快速监视可以看到,返回的是一个User对象的集合。
    下面我们来看下如何插入数据,通过初始化器创建User对象.

                Users u = new Users()
                
    {
                    UserName 
    = "tianyamoon",
                    NickName 
    = "岳亮",
                    Password 
    = "aaaaaa",
                    EMail 
    = "yueliang0603@163.com",
                    Birthday 
    = "19820101",
                    Sex 
    = true
                }
    ;

    通过db.Users.InsertOnSubmit(u);向集合插入一个对象。然后再执行submit操作db.SubmitChanges();。
    大家可以通过上面的方法跟踪SQL执行的情况。
    那么LINQ是如何执行Updata操作的呢,其实这个更简单。只要我们修改了User对象,只要执行db.SubmitChanges();函数就可以将新的数据更新入数据库了。

    还有一个问题,我们的连接字符串是如何处理的呢?那么我就来揭示这个小秘密吧,打开项目的 Properties文件夹,秘密就在Settings.settings里。

    下篇预告:
        使用Visual Studio 2008实现基本的页面交互
        主要内容:页面的数据绑定,数据验证控件的使用。
        预计推出日期2008年1月13日。

  • 相关阅读:
    MapReduce在MES中的应用
    【VIPM技巧】多版本LabVIEW无法连接问题
    【LabVIEW技巧】你可以不懂OOP,却不能不懂封装
    【LabVIEW技巧】代码块快速放置
    工作中那些提高你效率的神器(第二篇)_Listary
    工作中那些提高你效率的神器(第一篇)_Everything
    LabVIEW 吸星大法
    LabVIEW 吸星大法
    LabVIEW 吸星大法
    有哪些LabVIEW快捷键让你相见恨晚
  • 原文地址:https://www.cnblogs.com/tianyamoon/p/1034388.html
Copyright © 2020-2023  润新知