C#代码生成器(NetAutoCode自动生成C#实体类和增删改查的存储过程)

软件名称

NetAutoCode

应用平台

  • Windows

推荐类型

【开发者自荐】

一句简介

自动生成C#实体类和SQL Server的增删改查的存储过程

应用简介

注意:需要连接SQL Server数据库

NetAutoCode是平常辅助自己后端开发的,所有按钮都支持快捷键触发,操作更迅捷。而且数据库和表的过滤文本框里按下上下键可以切换数据库或表

1、一键生成C#实体类,可以从SQL Server自动带上注释,方便Swagger接口文档对接


2、一键生成分页查询的存储过程,自动带了pageindex分页索引和pagesize分页大小这两个参数,默认值为1和10,注释掉的name、datestart和dateend参数为可能存在名称模糊查询和时间段非必填限制查询


分页查询

3、一键生成批量删除的存储过程,【delete from location_info where @id + ‘,’ like ‘%’ + cast(id as varchar(30)) + ‘,%’】一条SQL语句就可以实现多选删除,用英文逗号隔开ID字符串

最精妙之处在于,这条sql节省了字符串加工和检查时间。一个或多个ID字符串传过来,前端大佬加不加最后一个英文逗号都无所谓,容错率拉满


4、一键生成修改或新增的存储过程,不需要手写繁琐的字段名称和字段类型,每个字段都可以为非必填


5、Web API调用新增或修改的存储过程,NetAutoCode自动生成的实体类就可以自动接受FromBody的数据源了,而且可以在Swagger接口文档里自动生成参数注释,注释来源于数据库里的表字段注释


6、Web API调用分页查询的存储过程,查询的时候直接返回无实体的Object类型即可,字段就可以千变万化,那样在服务器上可以直接改存储过程,即使后期添加了字段或者改了查询的逻辑,后端这边都不用发布代码了


细节:实体类只在新增或修改表,接受数据源时用,不要用在接口返回值里

优势:接口调用存储过程且返回无实体的Object类型,字段就可以千变万化,有需求变动,大部分情况直接在数据库修改存储过程即可,除了加参数,后端几乎不用频繁发布代码了。

官方网站 && 应用商店地址

蓝奏云,免登陆 密码:9zlh

GitHub记录

Object反射,永远的神!

最关键的地方忘记说了,像图中这样调用存储过程来调试sql语句,参数填入也非常方便,自测简直不要太舒服的

可以很强,生成存储过程还挺好,有点意思

1 Like

谢谢鼓励

c#转前端6年了,记得以前是用的是叫动软代码生成器

1 Like

动软听过的,还没用过。以前没用到存储过程数据库函数时,接口返回值加一个字段得同时改好多地方,还要重新发布代码。

现在加字段,改逻辑,直接改数据库函数,再按Ctrl+S就相当于发布了。

可以 挺方便的 希望后期加入保存数据库连接到本地配置文件的功能

1 Like

是的,忘记了,谢谢提醒 :handshake:

我看到你上传到github上只有一个说明,如果你愿意开源就更好

暂时没有这个计划 :rofl:

蓝奏云,免登陆 密码:9zlh

@zhttty 你好,该功能已添加,如果感兴趣可以下载体验

1.2版本变化

1、添加了配置文件,加密保存服务器密码等数据

2、添加了nvarchar、decimal等数据类型在存储过程定义时的精度控制,例如生成@longitude decimal(10,6) = 116.397128而不是@longitude decimal = 116.397128

3、优化了字符串模糊查询,例如生成where ISNULL(name, ‘’) like ‘%’ + @name + ‘%’ ,而不是where name like ‘%’ + @name + ‘%’ ,防止裸查询结果不包含字段为null的数据,如果确实不需要null的数据,可以手动移除ISNULL方法

4、修复了数据库和表数量显示问题,添加了选中表的字段数量显示

5、优化了生成所选数据库所有实体类的速度

6、select查询时自动添加所有字段,方便在每个字段前面添加“–”来注释掉可能不需要的字段,例如密码等敏感字段

7、移除了生成所选数据库“所选数据库生成多个类文件(Alt+V)”的按钮,但保留了快捷键触发。因为不推荐每个表都新建一个类文件,把所有实体类放在一个类文件即可(例如TClass类文件)。即使因为业务需求有手动新增的实体类, 把它单独放在一个类文件里即可(例如TExpand类文件)

已下载 不知道如果以后还有更新 软件会自动提示吗

1 Like

没搞服务器,也不能用公司服务器,点击窗口里的更新按钮,会跳转到下载页面,并且有最新版本号显示