公司数据库模块的操作

1.登入sqlserver连接到服务器,创建你需要的数据库

2.进入“\\server\project”,建立一个属于你自己的文件夹(方便让UI访问)

3.进入“http://server/mango/”,单击你自己的数据库,选择你要生成的路径,单击生成按钮

4.打开VS,创建一个类库,选中项目,右击,选择“属性”,在弹出的窗体中,选择“生成”,在输出路径中填入你要生成到的位置(应生成到服务器上。选中XML文档文件按钮)

5.添加引用,把原先数据库生成的DLL文件引用进来

好,现在我们就可以编写类了。以下是简单的增删改查实例,希望可以给公司新进来的学数据库的同事有所帮助

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Test.Data;
using Test.Entities;
using System.Data;

namespace Tt{
    /// <summary>
    /// 订单类
    /// </summary>
    public class OrderService
    {
        /// <summary>
        /// 添加一个客户信息
        /// </summary>
        /// <param name="name">客户名</param>
        public void AddCus(string name)
        {
            Customer cus = new Customer();
            cus.FName = name;
            DataRepository.CustomerProvider.Insert(cus);
        }

//直接传入对象直接使用即可

/// <summary>
        /// 根据Id查询
        /// </summary>
        /// <param name="customerId"></param>
        /// <returns></returns>
        public Customer Find(long customerId)
        {
            return  DataRepository.CustomerProvider.GetByFCustomerID(customerId);
        }

/// <summary>
        /// 根据name查询客户信息
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public TList<Customer> Find(string name)
        {
            CustomerQuery cu = new CustomerQuery();
            cu.Append(CustomerColumn.FName, name);
            return DataRepository.CustomerProvider.Find(cu);
        }

/// <summary>
        ///根据name删除
        /// </summary>
        /// <param name="name"></param>
        public void del(string name)
        {          
            CustomerQuery cu = new CustomerQuery();
            cu.Append(CustomerColumn.FName, name);
            TList<Customer> t = DataRepository.CustomerProvider.Find(cu);
            DataRepository.CustomerProvider.Update(t);
        }

/// <summary>
        /// 把第一个名为大王的字段改成name
        /// </summary>
        /// <param name="name"></param>
        public void Set(string name)
        {
            CustomerQuery customerQuery = new CustomerQuery();
            customerQuery.Append(CustomerColumn.FName, "大王");

TList<Customer> newCustomer = DataRepository.CustomerProvider.Find(customerQuery);
            修改记录
            newCustomer[0].FName = name;           
            DataRepository.CustomerProvider.Update(newCustomer[0]);
        }

/// <summary>
        /// 根据Id把FName的值更改为name
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        public void Set(long id,string name)
        {
           Customer newCustomer = DataRepository.CustomerProvider.GetByFCustomerID(id);
            修改记录
           newCustomer.FName = name;
           DataRepository.CustomerProvider.Update(newCustomer);
        }

/// <summary>
        /// 深度更新
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        public void Set(long id, string name)
        {
            Order order = new Order();
            order.FCustomerId = 1;
            order.FCount = 2;
            Customer newCustomer = DataRepository.CustomerProvider.GetByFCustomerID(id);
            TList<OrderDetail> tlistOrderDetail = new TList<OrderDetail>();
            //第一个订单详细
            OrderDetail orderdetail = new OrderDetail();
            orderdetail.FName = "相机";
            orderdetail.ForderId = order.FOrdersId;
            tlistOrderDetail.Add(orderdetail);
            //第二个订单详细
            OrderDetail orderdetail1 = new OrderDetail();
            orderdetail1.FName = "电脑";
            tlistOrderDetail.Add(orderdetail1);
            orderdetail1.FOrderDetailId = order.FOrdersId;
            //OrderDetailCollection订单详细集合
            order.OrderDetailCollection = tlistOrderDetail;
            DataRepository.OrderProvider.DeepSave(order);
        }
        
        
    }
}

//添加代码
            //Teacher teacher =  new Teacher();
            //DataRepository.TeacherProvider.DeepLoad(teacher);
            //teacher.FTeacherName = "蕾钧";
            //DataRepository.TeacherProvider.Insert(teacher);

修改代码
            //TeacherQuery teacherQuery = new TeacherQuery();
            //teacherQuery.Append(TeacherColumn.FTeacherName, "吕蕾钧");
            //TList<Teacher> tListTeacherColumn = new TList<Teacher>();
            //tListTeacherColumn = DataRepository.TeacherProvider.Find(teacherQuery);//找出表中FTeacherName字段中所有叫吕蕾钧的记录
            int n=tListTeacherColumn.Count;
            tListTeacherColumn[0].FTeacherName = "吕钧";
            //DataRepository.TeacherProvider.Update(tListTeacherColumn[0]);

//深度添加
            //Teacher teacher = new Teacher();
            //teacher.FTeacherName = "测试5";
            //teacher.FTeacherNumber = "4";

//TList<Course> tListCourse = new TList<Course>();

//Course course = new Course();
            //course.FTeacherID = teacher.TTeacherID;
            //course.FCourseName = "441212";
            //tListCourse.Add(course);

//Course course1 = new Course();
            //course1.FTeacherID = teacher.TTeacherID;
            //course1.FCourseName = "C++3";
            //tListCourse.Add(course1);

//teacher.CourseCollection = tListCourse;
            //DataRepository.TeacherProvider.DeepSave(teacher);

//多条件查询
            //TeacherQuery teacherQuery = new TeacherQuery();
            //teacherQuery.Append(TeacherColumn.FTeacherName, "蕾钧");
            //teacherQuery.BeginGroup("AND");
            //teacherQuery.Append("", TeacherColumn.FTeacherNumber, "5", false);
            //teacherQuery.BeginGroup("OR");
            //teacherQuery.Append("", TeacherColumn.FTeacherNumber, "4", false);
            //teacherQuery.EndGroup();
            //teacherQuery.EndGroup();
            teacherQuery.Append(") AND ", "1", "1", false);
            teacherQuery.Append(TeacherColumn.FTeacherName, "4");
            //TList<Teacher> tListTeacher = new TList<Teacher>();
            //tListTeacher = DataRepository.TeacherProvider.Find(teacherQuery);

CustomerID LIKE @Param0 AND City = @Param1) OR (CustomerID LIKE @Param2 AND City = @Param3)

代码如下

CustomersParameterQuery query1 = new CustomersParameterQuery();
   query1.Clear();
   query1.Junction = string.Empty; // This prevents the ParameterBuilder from throwing an "AND" before next line's output
   query1.BeginGroup();
   query1.Append(string.Empty, CustomersColumn.CustomerID, "A%", true);
   query1.Append("AND", CustomersColumn.City, "London", true);
   query1.EndGroup();
   query1.BeginGroup("OR");
   query1.Append(string.Empty, CustomersColumn.CustomerID, "B%", true);
   query1.Append("AND", CustomersColumn.City, "Berlin", true);
   query1.EndGroup();

TList<Customers> list1 = DataRepository.CustomersProvider.Find(query1.GetParameters());
   Console.WriteLine("Query1 = {0}", query1);

Results Query1

转载于:https://www.cnblogs.com/xsmhero/archive/2009/04/16/1436897.html

初识OR Mapping相关推荐

  1. 1 初识Mybatis

    初识MyBatis 文章目录 初识MyBatis 1.MyBatis简短介绍 2.持久化与ORM 3.搭建MyBatis开发环境 4.使用Mybatis查询数据库内容 1.找不到mapper的映射xm ...

  2. 1.初识elasticsearch

    1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中 ...

  3. 视觉SLAM十四讲 第1-2讲 初识SLAM

    视觉SLAM十四讲 第1-2讲 初识SLAM 1. slam 是什么 2. SLAM基本模块 3. 相机的种类 4. 视觉slam基本流程 5. 非/线性系统.非/高斯系统 6. CMake 1. s ...

  4. 初识V4l2(二)-------浅析video_register_device

    在V4l2初识(一)中,我们已经知道当插上一个摄像头的时候,在uvc_driver.c中最终会调用函数video_register_device函数.接下来我们就简要分析这个函数做了哪些事情,揭开其神 ...

  5. PE病毒学习笔记——初识感染技术 (转自看雪学院)

    [分享]PE病毒学习笔记--初识感染技术 <script type="text/javascript"></script>   标 题: [分享]PE病毒学 ...

  6. [中英对照]User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序...

    如对Linux用户态驱动程序开发有兴趣,请阅读本文,否则请飘过. User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序 ...

  7. Python2.7.13 初识

    该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 2018-05-07--2018-05-28 参考内容<Python tutorial 2.7.13> 实践源码 ...

  8. SpringMVC总结和初识JSON

    初识JSON 概念:json是一种类似于xml的文件,但是它比xml更小,传输更快,更容易被解析,而且json在JavaScript中可以直接转化为js对象.非常适合前端去读取到我们后端传递过来的数据 ...

  9. ElasticSearch学习笔记二 初识Elasticsearch

    初识Elasticsearch Elasticsearch简介 Elasticsearch术语及概念 文本(Text) 索引词/精确值(term) 精确值 VS 全文 分析(Analysis)与分析器 ...

最新文章

  1. html 右边框变短,HTML / CSS:使边框右侧高度动态化
  2. 你住的城市7.5亿年前长啥样?这张互动地图能让你看到
  3. 《java编程思想》学习笔记——复用类
  4. 关于Mysql5.7高版本group by新特性报错
  5. iis php win安装kangle_Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
  6. 基于 DataLakeAnalytics 做跨地域的数据分析
  7. pythoneasyinstall安装第三方库,Python安装第三方库的3种方法
  8. 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
  9. Java排序算快速排序_Java排序算法 [快速排序]
  10. docker 漏洞_Ghost安全漏洞,Revolution Analytics被收购,Docker领导等
  11. 阿里依然在“飙车”!第一财季净利润309.49亿元 同比增长54%
  12. Bailian4075 矩阵旋转【矩阵】
  13. swift中闭包的循环引用
  14. 挑选32 2K显示器
  15. javamail 收件人/发件人 乱码解析
  16. 条码枪接入智能网关,通过条码查询数据库,数据写入PLC寄存器
  17. 显示当前服务器的ip,linux查看当前服务器ip地址 命令
  18. QC1.0、QC2.0、QC3.0、QC4.0协议介绍
  19. 【免费域名】freenom免费申请域名步骤
  20. 关于将驱动整合至ESXi镜像过程中的一些小坑

热门文章

  1. SBO-COMMON库中查各个表的大小的SQL语句
  2. KlayGE新增Realtime Caustics
  3. 大数据技术学习路线,有信心能坚持学习的朋友,从现在开始吧
  4. Windows下MySQL安装
  5. 猫眼、淘票票两虎相争:下沉市场、服务、内容成决胜关键
  6. 创建BDC域控制器时,提示“出站复制验证失败。在复制源域控制器上未启用出站复制”的解决办法...
  7. c# usercontrol ,networkcomms3.0 Invoke总结
  8. 【Luogu】P3927 SAC E#1 - 一道中档题 Factorial
  9. Windows下的鱿鱼(Squid)
  10. xcode升级之后,VVDocument失效的解决办法