NewLife.XCode 上手指南2018版(一)代码生成
目录
- NewLife.XCode 上手指南2018版(一)代码生成
- NewLife.XCode 上手指南2018版(二)增
- NewLife.XCode 上手指南2018版(三)查
- NewLife.XCode 上手指南2018版(四)删
- NewLife.XCode 上手指南2018版(五)改
一、前言
楼主从2013年开始使用xcode到现在已经5个年过去了,只要公司项目用C#的orm肯定就是xcode,没有其他选项,因为他使用起来真的太方便太灵活了,想要什么都可以做到。这个系列为什么2018年又要写一遍呢,因为公司来了个小伙子,白纸一张,什么都不懂,自己看看2013年的上手指南真的看不下去了,实在不适合初学者,所以才想花点时间,重新写一个指南。这次时间紧任务多,所以除了前言不会再有废话,直奔主题。
二、阅读本指南前置条件
了解基础的C#语法
了解数据库基本知识
三、本指南达到的目的
快速上手XCode,可以利用XCode对数据库进行增删改查
四、XCode的工具下载
http://x.newlifex.com/XCoder_Install.exe
exe实际上是一个rar的自动解压脚本,下载运行后,会自动在C:\X\Coder\目录下生成这些文件。

五、新建项目和DLL的引用
0.新建一个项目,项目名称随意取,Vs2013新建的项目默认是.net4.5的版本。
1.在引用的地方右键,管理NuGet程序包

2. 在右上角搜索框内输入newlife,找到NewLife.XCode,点击安装

3.安装完成之后,会在项目文件里看到如下文件

3.1 生成实体类.tt 是个脚本文件,用于生成实体类cs文件,这里我们用不到,可以删除他,如果像知道怎么用这个tt文件可以看这个http://www.cnblogs.com/m5v8/p/8509810.html
3.2 NewLife.Core是XCode使用的基本库,所以必须要有
3.3 XCode是我们今天的主角,宇宙无敌超级好用的ORM
六、新建一个数据库
此处使用的MSSQL2005
新建一个数据库叫XCodeTest
然后执行如下SQL脚本,新建一个MyUser的表
USE [XCodeTest]
GO
/****** 对象: Table [dbo].[MyUser] 脚本日期: 03/05/2018 16:46:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MyUser](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Age] [int] NULL,
[Money] [decimal](18, 2) NULL,
[vTime] [datetime] NULL,
CONSTRAINT [PK_MyUser] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
七、生成Domain
1. 打开C:\X\XCoder\XCoder.exe

2. XCoder在你没有做任何配置的情况下,自动会识别本机的mssql,然后自动识别到所有数据库,所以这里我们直接选择刚才的xcodeTest数据库就可以了。至于其他的链接字段怎么修改和配置,可以自行查看XCoder.exe.config里的ConnectionString

3. 选择刚才我们新建的表,选择模板实体数据,命名空间,连接名根据项目需求进行一些修改就可以了如下图所示。(实体基类不要去修改)

4. 再重复第三步生成实体业务,实体业务里面包含了基本的查询,基本的扩展属性,这些都是根据数据库的索引和命名规则自动生成的,真是太方便了
5. 打开目录,把我们刚才生成的cs文件copy到项目中去,新建一个Domain文件夹,然后把2个文件复制进来就可以了,vs真是棒棒的。

5.1 MyUser.cs 文件就是基础的数据实体对象,里面包含了表里所有的字段值
5.2 MyUser.Biz.cs文件里面包含了对这个实体对象进行的一些基本操作,包括一些扩展查询,这里的查询是XCode根据表索引来自行生成的,如果没有索引就不会有。
而扩展属性呢,是根据表的名字和表的字段关联关系自动生成的。这个我这里就不再展开了。
结尾
到目前为止,我们完成了项目的新建、dll的引用、XCode代码生成器的使用,生成了Domain。 下一节我们介绍如何利用XCode优雅的写出各种查询。
NewLife.XCode 上手指南2018版(一)代码生成的更多相关文章
- NewLife.XCode 上手指南2018版(二)增
目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...
- NewLife.XCode 上手指南
想了解什么是XCode 在这里我不对XCode做过多介绍,XCode曾经是一个轻量级ORM组件,现在是一个重量级数据映射框架,支持实体对象数据到不同媒体的数据映射,提供面向对象的方式操作数据库,解决9 ...
- [NewLife.XCode]角色权限
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]对象字典缓存(百万军中取敌首级)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]高级增删改
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
- [NewLife.XCode]实体列表缓存(最土的方法实现百万级性能)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...
- [NewLife.XCode]增删改查入门
NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...
- [NewLife.XCode]数据模型文件
NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...
- [NewLife.XCode]实体类详解
NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...
随机推荐
- zabbix监控的基础概念、工作原理及架构
一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.是一个基于WE ...
- linux命令之read
对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e &quo ...
- fopen fclose feof fgets fetl
fopen :Open file, or obtain information about open files 例如 fid = fopen(filename, permission)%许可包括: ...
- Ubuntu16.04下的2009q3交叉编译工具链的搭建
环境搭建: 1.下载arm-2009q3.tar.bz2源码. 百度云链接 密码: rbui 2.将arm-2009q3.tar.bz2拷贝到/usr/local/arm(没有该目录就 ...
- CentOS7下 Java、Tomcat、MySQL、Maven热部署
本文介绍了CentOS7 64位下Java.Tomcat.MySQL.Maven热部署等服务器环境的搭建和调试过程. 学生服务器资源获取方法: 云+校园计划 - 腾讯云 阿里云云翼计划 github ...
- Java 解压zip压缩包
因为最近项目需要批量上传文件,而这里的批量就是将文件压缩在了一个zip包里,然后读取文件进行解析文件里的内容. 因此需要先对上传的zip包进行解压.以下直接提供代码供参考: 1.第一个方法是用于解压z ...
- JMeter基础教程1:若隐若现的参数化
1. 什么是参数化? 在开始学习JMeter参数化之前,我们先了解下什么是参数化: 参数化是自动化测试脚本的一种常用技巧.简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指 ...
- Cypher查询语言--Neo4j-MATCH(二)
目录 Match 相关节点 接出关系Outgong relationship 定向关系和标识符 通过关系类型匹配 通过关系类型匹配和使用标识符 带有特殊字符的关系类型 多重关系 可变长度的关系 在可变 ...
- Ubuntu14.04server + LNMP + Zabbix3.4安装教程
此教程使用的编辑器是vim LNMP安装很简单,跟着步骤走没有问题,就不粘图片了. 安装MYSQL (1)开始安装:apt-get install mysql-server libmysqld-dev ...
- 介绍一种非常好用汇总数据的方式GROUPING SETS
介绍 对于任何人而言,用T-SQL语句来写聚会查询都是工作中重要的一环.我们大家也都很熟悉GROUP BY子句来实现聚合表达式,但是如果打算在一个结果集中包含多种不同的汇总结果,可能会比较麻烦.我将举 ...