目录

一、前言

楼主从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版(一)代码生成的更多相关文章

  1. NewLife.XCode 上手指南2018版(二)增

    目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...

  2. NewLife.XCode 上手指南

    想了解什么是XCode 在这里我不对XCode做过多介绍,XCode曾经是一个轻量级ORM组件,现在是一个重量级数据映射框架,支持实体对象数据到不同媒体的数据映射,提供面向对象的方式操作数据库,解决9 ...

  3. [NewLife.XCode]角色权限

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...

  4. [NewLife.XCode]对象字典缓存(百万军中取敌首级)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...

  5. [NewLife.XCode]高级增删改

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...

  6. [NewLife.XCode]实体列表缓存(最土的方法实现百万级性能)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...

  7. [NewLife.XCode]增删改查入门

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

  8. [NewLife.XCode]数据模型文件

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

  9. [NewLife.XCode]实体类详解

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

随机推荐

  1. 获取用户IP地址的三个属性的区别 (HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)

    一.没有使用代理服务 器的情况: REMOTE_ADDR = 您的 IPHTTP_VIA = 没数值或不显示HTTP_X_FORWARDED_FOR = 没数值或不显示 二.使用透明代理服务器的情 况 ...

  2. ClearCase config_spec

    1.使用分支前要在vob创建branch  type,Config_Spec不能自动创建branch type: 2.如果可能,最好在以前确定的label上进行新的工作,避免维护复杂的config_s ...

  3. JDBC (五)

    1 使用dbutils进行一对多.多对多的开发 1.1 准备 mysql驱动的pom.xml <!-- https://mvnrepository.com/artifact/mysql/mysq ...

  4. java IO(三):字符流

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  5. eclipse每次闪退后都提示查看\workspace\.metadata\.log

    错误如下: 找到<workspace>/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi"文件,将其删掉,再重启 ...

  6. 监控 Linux 性能的 18 个命令行工具[转]

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...

  7. cache.config文件配置模板

    # # cache.config # # The purpose of this file is to alter caching parameters of # specific objects o ...

  8. 使用guava变形数据结构

    在java日常开发中,经常需要使用各种数据结构,在涉及到数据结构之间如何优雅的转换时,我们可以借助google的guava提供的相关功能来优雅的实现.以下记录一些开发中经常需要使用数据结构的变形,以便 ...

  9. ABP官方文档翻译 3.4 领域服务

    领域服务 介绍 IDomainService接口和DomainService类 示例 创建接口 服务实现 使用应用服务 一些探讨 为什么只有应用服务? 如何强制使用领域服务? 介绍 领域服务(或者在D ...

  10. JDBC访问及操作SQLite数据库

    SQLite 是一个开源的嵌入式关系数据库,其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进 ...