相信很多人都用T4模版生成代码,用T4模版生成标准代码真的很方便.我们经常根据表生成相关的代码, 但是估计很多人都遇见过同一个问题, 特别是我们在生成model的时候,代码中model中的Summary一直无法生成.这个问题也困扰了我很久,也找了很多方案,一直没有更好的方法.问题如下: 解决方案 为了生成summary需要额外的增加一个类,并在T4模版中引用这个类即可.这个类的作用是根据表名和列名提取数据表中列的description. 1. 首先查询数据库中所有表和列的基本信息 为了方便起见,…
在项目开发中有没有用过拼音首字母做列名或者接手这样的项目? 看见xmspsqb(项目审批申请表)这种表名时是否有一种无法抑制的想肛了取名的老兄的冲动? 更坑爹的是这种数据库没有文档(或者文档老旧不堪早已无用)也没有数据库内部说明,是不是很无奈? 但是,凡事就怕有但是,有些表和列名字确实太专业(奇葩),用英文不是太长就是根本不知道用什么(英文差……),似乎也只能用拼音.好吧,那就用吧,写个说明凑活用用.这个时候问题就来了,如何用sql生成表和列说明?在ef core中又怎样生成表和列说明? 以sq…
[1]Mysql数据库中表的列操作 Mysql中关于表中列的操作集语句: -- [1]增加一列 ) DEFAULT NULL COMMENT '目的码区号'; -- [2]增加一列,在dnis_area列后 ) DEFAULT NULL COMMENT '目的码区号' AFTER dnis_area; -- [3]增加一列,作为第一列 ) DEFAULT NULL COMMENT '目的码区号' FIRST; -- [4]删除表中某一列 ALTER TABLE cfg_fee_rate DROP…
把ArimaIndexForecastModel这张表的标识列重置为0,前提是这张表执行过删除操作 示例:  dbcc checkident('ArimaIndexForecastModel',reseed,0) 语法: DBCC CHECKIDENT ( table_name[, { NORESEED | { RESEED [, new_reseed_value ] } } ])[ WITH NO_INFOMSGS ] table_name 表名,必须包含标识列,否则执行报错 NORESEED…
select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go…
创建新项目,一对多 复制刚才关闭的项目的文件 复制到们的新项目里面 复制包的依赖 删减相关代码.只保留这三个查询的方法 模糊查询改成传统的占位符的方式 之前是可以自定义实体类的属性字段,和数据库的字典不一致 增加测试方法 除了用户民 其他都是null值 @Results注解 这个注解包含了id和多个result 里面还有还有一个@Result注解 如果是主键把id设置为true,id默认为false 所有第一个id这里我们设置为true,表示id字段是主键 其他的字段可以不用因为id 默认为fa…
最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参照,SQL脚本语句放在最后,可以直接导到自己的数据库. customer表 orderitems表 orders表 productnotes表 products表 vendors表 数据库SQL脚本语句 /* Navicat Premium Data Transfer Source Server :…
解决方案: 将context类下的方法“OnModelCreating”修改为: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); base.OnModelCreating(modelBuilder); //throw new UnintentionalCodeFirst…
目前mybatis-generator已经升级到1.3.3,功能比较强大,但是目前从table中如果字段较多可以选择忽略生产的字段(通过ignoreColumn属性实现,http://generator.sturgeon.mopaas.com/configreference/ignoreColumn.html),如果一个table字段太多而只需要某几个字段,例如100个字段的表格中只要5个, 那么需要选择95个字段进行ignore,这样费时也费神,而且极容易出错,想想如果copy到第90个字段的…
一 二.工具  (T4模板编辑器) 使用效果 1.tangibleT4EditorPlusModellingToolsVS2013.msi 2.devart T4 Editor for Visual Studio 安装完后,在VS的工具-拓展管理器中找到,重启VS可以看到tt模板里的代码已经高亮了 参考: T4模板TextTemplatingFileGenerator和TextTemplatingFilePreprocessor区别 (基础) 你必须懂的 T4 模板:深入浅出 使用T4模板映射数…
一.T4模板说明 1.T4模板是用来生成Model层实体类的 2.文件后缀为.tt 3.需要修改配置主要有:引用的SqlSugar.dll的位置.生成实体类的位置及生成实体类的命名空间 4.T4模板生成代码对数据库有要求,数据库应该是不区分大小写的,如果你创建的数据库是否区分大小写的"Chinese_PRC_CS_AS ", 5.T4模板生成代码,中包括创建的视图 那么会抛出异常 'SYSOJBECTS'对象无效,关于修改数据库是否区分大小写可以参考:http://blog.csdn.…
前言 最近研究了下ServiceStack.OrmLite,文档中也提到了使用T4模板对数据库中已经有了表进行实体的映射,这里也顺便记录下使用的步骤和情况. 开始使用 引用T4模板 首先我们创建一个工程,然后在nuget上获取ServiceStack.OrmLite T4模板: 添加完成之后,整个工程会多了一些文件: 添加数据库连接字符串 因为模板要连接数据库进行POCO的生成,我们也修改添加连接字符串: 这里要注意的是providerName是必须要写的,要不然T4模板不能正常的识别. 修改模…
在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据库使用的是开发环境的数据库,消息队列也使用的部署在开发机上的消息队列,传统的方式是,由发布或者配置管理员来维护这些不同环境的配置文件.通常,手工的针对不同的环境去修改配置文件容易产生错误. 有很多种不同的方式来针对不同的部署环境生成配置,最笨的方法就是可以维护几套不同的配置文件,然后在编译事件中根据…
+ 转载自:Zend Framework 2参考Zend\Authentication(数据库表认证) 介绍 Zend\Authentication\Adapter\DbTable提供对存储在数据库表中的凭据进行验证的能力,因为Zend\Authentication\Adapter\DbTable要求Zend\Db\Adapter\Adapter实例进行构造,每个实例绑定到特定的数据库连接.其他配置选项的设置都可以通过构造器实例的方法处理.可用的配置选项包括 tableName:这是包含身份验证…
使用T4模板生成不同部署环境下的配置文件 在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据库使用的是开发环境的数据库,消息队列也使用的部署在开发机上的消息队列,传统的方式是,由发布或者配置管理员来维护这些不同环境的配置文件.通常,手工的针对不同的环境去修改配置文件容易产生错误. 有很多种不同的方式来针对不同的部署环境生成配置,最笨的方法就是可以维…
将DataTable一次性插入数据库表中(使用SqlBulkCopy) 1.SqlBulkCopy简介 SqlBulkCopy类是ADO.NET中专门用于数据库批量插入数据的类,其批量插入的执行速度是其他类似操作类中最快的.SqlBulkCopy类在批量插入数据时,不用去像传统插入操作那样先拼写出sql语句再对sql语句进行执行,而是可以直接将一个DataTable插入数据库的目标表中. 关于SqlBulkCopy类的用法详见下面例子2. 2.将DataTable一次性插入数据表中 (1)方法代…
CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考. 为了尽可能提升渲染效率,CSharpGL是面向Shader的,因此稍有难度. CSSL+Renderer 严格来说本篇不直接涉及OpenGL,但磨刀不误砍柴工,本篇仍算CSharpGL里. 上一篇制作了CSSL.CSSL和Renderer配合,就定义了一个渲染OpenG…
在模型的T4模板(如model.tt)中插入如下代码,这样由模板生成的模型代码中的导航属性将自动带有[JsonIgnore]标识,不会被序列化 1. 添加命名空间的引用 找到以下代码,添加using Newtonsoft.Json; BeginNamespace(code);#>using Newtonsoft.Json;<#=codeStringGenerator.UsingDirectives(inHeader: false)#> 2.为导航属性添加JsonIgnore标签 找到以下…
1.前言 hi,大家好,我是三合.作为一名程序猿,日常开发中,我们在接到需求以后,一般都会先构思一个模型,然后根据模型写实体类,写完实体类后在数据库里建表,接着进行增删改查, 也有第二种情况,就是有些人喜欢先在数据库里建表,然后再添加实体类.前者是code First,后者是db First,如果数据库表和c#实体类可以互相转换的话,那么无疑将大大加快我们的开发速度,很幸运的是,当前依靠一些第三方建模软件或者是efcode就可以实现,我们以ef core举例, 1.1 ef core根据实体类生…
对于开发的API文档,我们可以通过Swagger等工具来自动生成了.但是对于数据库表结构的文档呢,在实际开发中在开发前我们一般会先设计好表结构,大家讨论一下, 这个时候就很需要有个数据库表结构的文档,如果常规操作就是一通无脑的 CV 大法,产出一份小几十页的 Word 文档,这样不仅容易出错,而且如果表结构变了还需修改 Word文档,非常不方便. 这里介绍并演示一个开源的 生成数据库表结构的文档 的工具,可以帮我们高效的自动 生成数据库表结构文档. 工具名称: screw. 开源地址: http…
注:本文系作者原创,但可随意转载. 现在呆的公司使用的数据库几乎都是MySQL.编程方式DatabaseFirst.即先写数据库设计,表设计按照规范好的文档写进EXCEL里,然后用公司的宏,生成建表脚本和实体类文件. 之前就见识过T4模板生成SQL实体类文件,但还没自己实践过,这次正好实现一下生成MySQL的实体类. 目标类文件结构大致如下: //----------------------------------------------------------------------- //…
 -- 查询一个数据库表中的索引及索引列use [RuPengWangDB]GOSELECT  indexname = a.name , tablename = c. name , indexcolumns = d .name , a .indidFROM    sysindexes a JOIN sysindexkeys b ON a .id = b .id  AND a .indid = b.indid        JOIN sysobjects c ON b .id = c .id   …
1.去重语句:DELETE FROM `v_klg_item` WHERE id NOT IN (SELECT * FROM (SELECT MAX(id) FROM `v_klg_item` GROUP BY NAME) AS tmp); 2.数据库不同表之间列的复制语句:INSERT INTO crm_add (id,address,pid) SELECT id,NAME,parentId FROM labos_area;…
用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Access数据库中的表;添加列和删除列SQL语句,具体使用方法请看帮助          Create    Table    tab1    (fld1    integer)      Drop    Table    tab1          Alter    Table    tab1   …
在重启Confluence应用时,突然遇见这个检查错误,查询总结需要修改Mysql数据库的所有字符编码和排序编码,报错如下: Confluence Help – This installation of Confluence has failed one or more bootstrap configuration checks. Please check the logs for details. 修改数据库.表.列.外键字符编码和排序编码 设置数据库字符编码为utf8,排序编码utf8_b…
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字段的删除过程中需不需要对数据进行备份 ''' 二.路由基础 ''' # url中含有四个参数 # url(regex, view, kwargs=None, name=None) # 正则路径 视图函数地址 默认关键字参数(了解) 路由别名 # r'index' 只要请求中含有index都可以匹配成…
SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名') DROP DATABASE [数据库名] --2. 判断表是否存在 ) PRINT '存在' ELSE PRINT '不存在' --3. 判断存储过程是否存在 ) PRINT '存在' ELSE PRINT '不存在' --4. 判断临时表是否存在 IF OBJECT_ID('TEMPDB..…
下面是Mybatis的SQL映射文件. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <select id="findbyname"…
查询指定 数据库 中所有 表 (指定数据库的,所有表) // 可以把 TABLE_NAME 换成 * 号, 查看更丰富的信息 SELECT TABLE_NAME FROM information_schema. TABLES WHERE table_schema = '数据库名' //where 后面还有更多的条件选择,比如只查出以 oauth_表开头的表 AND TABLE_NAME LIKE 'oauth_%'; 查询指定 数据库 中,指定 表 的所有 字段 (指定表的,所有列) SELEC…
如果将数据库比作一个存储东西的储物柜,表就像是储物柜上的各个抽屉,每个抽屉分门别类地存放了各种数据,在设计和规划数据库时,表的定义和规划往往相当重要,良好的表设计决定了程序人员编写程序的便利性与数据库的整体性能.现在讲理解Oracle中表的结构和设计的指南. 1.表和实体 曾经介绍过实体的概念.实体是对现实世界的抽象,在设计一个数据库时,首先需要考虑数据库需要涉及的实体.比如一个仓库数据库.如果进行现实世界的实体划分,可以具有如下实体: 仓库,存储仓库名称.位置. 仓库管理员,存储管理仓库的人员…