zoukankan      html  css  js  c++  java
  • 使用C#+Linq+SQL快速开发业务

    C#开发桌面程序的效率确实很高,今天就来总结下如何使用C#+Linq+SQL快速开发一个新的业务系统。

    Linq是微软官方的轻量级的ORM工具,使用它结合SQL可以快速的生成实体类,再通过Linq操作可以快速的开发业务。

     

    1、生成实体类:

    对于已经存在的数据库结构(SQL Server),可以使用VS自带的命令行工具生成实体类:

     

    image

     

    sqlmetal工具可以用来对SQL Server数据库快速生成C#中的实体类,具体参数:

    /server参数指定服务器名称

    /database参数指定数据库名称

    /namespace参数指定生成代码的命名空间

    /code参数指定生成代码名称

     

    2、在C#中对实体类的操作:

       1:  /*
       2:          * Shifenzheng是数据库实体类名称,继承自System.Data.Linq.DataContext
       3:          * 实例化时,参数为数据库的连接字符串。
       4:          * 
       5:          */
       6:         Shifenzheng db = new Shifenzheng(@"Data Source=CHAO-COMPUTERMSSQLSERVER_R2;Initial Catalog=Shifenzheng;User ID=sa;Password=123123123;");
       7:   
       8:         public frmMain()
       9:         {
      10:             InitializeComponent();
      11:         }
      12:   
      13:         private void sbSearch_Click(object sender, EventArgs e)
      14:         {
      15:   
      16:             string strName = teName.Text.Trim();
      17:             if (strName.Length==0)
      18:             {
      19:                 MessageBox.Show("请输入查询条件!");
      20:                 return ;
      21:             }
      22:   
      23:             /*
      24:              * Linq语句返回的是System.Linq.IQueryable<KF_Search.Tbl> {System.Data.Linq.DataQuery<KF_Search.Tbl>}对象。
      25:              * 该对象只能通过foreach来循环访问。
      26:              * 因此将其转换为List对象作为表格控件的数据源。
      27:              */
      28:             var kfer = from cc in db.Tbls
      29:                        where cc.Name == strName && cc.Mobile!=""
      30:                        select cc;           
      31:             var dataList = kfer.ToList();
      32:   
      33:             //设置gridControl对象的数据源
      34:             gcDetails.DataSource = dataList;
      35:             gcName.FieldName = "Name";
      36:             gcGender.FieldName = "Gender";
      37:             gcMobile.FieldName = "Mobile";
      38:             gcIDCard.FieldName = "CtfId";
      39:             gcEmail.FieldName = "EMail";
      40:             gcAddress.FieldName = "Address";
      41:   
      42:             MessageBox.Show("总共搜索到 "+dataList.Count+" 条记录!");
      43:         }   

    3、最终实现结果:

    image

  • 相关阅读:
    [2021.8集训Day10/JZOJ.3410]【GDOI2014模拟】Tree
    [2021.8集训Day10/JZOJ.3441]【NOIP2013模拟】小喵喵的新家
    [模板]模拟退火 / 洛谷 P1337 [JSOI2004]平衡点
    P1600 [NOIP2016 提高组] 天天爱跑步
    P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并
    selenium的三种等待
    python中socket、socketio、flask-socketio、WebSocket的区别与联系
    (十二)python3 迭代器
    (十一)python3 encode()和decode()
    (十)python3 生成器
  • 原文地址:https://www.cnblogs.com/chaosimple/p/3978802.html
Copyright © 2011-2022 走看看