初识OR Mapping
公司数据库模块的操作
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 初识Mybatis
初识MyBatis 文章目录 初识MyBatis 1.MyBatis简短介绍 2.持久化与ORM 3.搭建MyBatis开发环境 4.使用Mybatis查询数据库内容 1.找不到mapper的映射xm ...
- 1.初识elasticsearch
1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中 ...
- 视觉SLAM十四讲 第1-2讲 初识SLAM
视觉SLAM十四讲 第1-2讲 初识SLAM 1. slam 是什么 2. SLAM基本模块 3. 相机的种类 4. 视觉slam基本流程 5. 非/线性系统.非/高斯系统 6. CMake 1. s ...
- 初识V4l2(二)-------浅析video_register_device
在V4l2初识(一)中,我们已经知道当插上一个摄像头的时候,在uvc_driver.c中最终会调用函数video_register_device函数.接下来我们就简要分析这个函数做了哪些事情,揭开其神 ...
- PE病毒学习笔记——初识感染技术 (转自看雪学院)
[分享]PE病毒学习笔记--初识感染技术 <script type="text/javascript"></script> 标 题: [分享]PE病毒学 ...
- [中英对照]User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序...
如对Linux用户态驱动程序开发有兴趣,请阅读本文,否则请飘过. User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序 ...
- Python2.7.13 初识
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 2018-05-07--2018-05-28 参考内容<Python tutorial 2.7.13> 实践源码 ...
- SpringMVC总结和初识JSON
初识JSON 概念:json是一种类似于xml的文件,但是它比xml更小,传输更快,更容易被解析,而且json在JavaScript中可以直接转化为js对象.非常适合前端去读取到我们后端传递过来的数据 ...
- ElasticSearch学习笔记二 初识Elasticsearch
初识Elasticsearch Elasticsearch简介 Elasticsearch术语及概念 文本(Text) 索引词/精确值(term) 精确值 VS 全文 分析(Analysis)与分析器 ...
最新文章
- html 右边框变短,HTML / CSS:使边框右侧高度动态化
- 你住的城市7.5亿年前长啥样?这张互动地图能让你看到
- 《java编程思想》学习笔记——复用类
- 关于Mysql5.7高版本group by新特性报错
- iis php win安装kangle_Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
- 基于 DataLakeAnalytics 做跨地域的数据分析
- pythoneasyinstall安装第三方库,Python安装第三方库的3种方法
- 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
- Java排序算快速排序_Java排序算法 [快速排序]
- docker 漏洞_Ghost安全漏洞,Revolution Analytics被收购,Docker领导等
- 阿里依然在“飙车”!第一财季净利润309.49亿元 同比增长54%
- Bailian4075 矩阵旋转【矩阵】
- swift中闭包的循环引用
- 挑选32 2K显示器
- javamail 收件人/发件人 乱码解析
- 条码枪接入智能网关,通过条码查询数据库,数据写入PLC寄存器
- 显示当前服务器的ip,linux查看当前服务器ip地址 命令
- QC1.0、QC2.0、QC3.0、QC4.0协议介绍
- 【免费域名】freenom免费申请域名步骤
- 关于将驱动整合至ESXi镜像过程中的一些小坑
热门文章
- SBO-COMMON库中查各个表的大小的SQL语句
- KlayGE新增Realtime Caustics
- 大数据技术学习路线,有信心能坚持学习的朋友,从现在开始吧
- Windows下MySQL安装
- 猫眼、淘票票两虎相争:下沉市场、服务、内容成决胜关键
- 创建BDC域控制器时,提示“出站复制验证失败。在复制源域控制器上未启用出站复制”的解决办法...
- c# usercontrol ,networkcomms3.0 Invoke总结
- 【Luogu】P3927 SAC E#1 - 一道中档题 Factorial
- Windows下的鱿鱼(Squid)
- xcode升级之后,VVDocument失效的解决办法