Skip to content

lylong/AirCodeGeneration

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AirCodeGeneration

Air代码生成工具

使用AirCodeGeneration可以根据你的模型类生成相应的数据库建表脚本。

支持平台

Framework

.NetCore

支持的数据库

SQL Server

使用方式

1、Framework平台引用Air.Data,NetCore、NET Standard引用Air.Data.Core;
2、模型类的代码请参考下面代码;

  [DataBaseTableRule(IsCreateGnore = false)]
    public class CoreTest
    {

        [DataBaseFieldRule(DataType = "Int", IdentityValue = "Identity(1,1)", IsPramaryKey = true, Remark = "主键")]
        public int Id { get; set; }

        [DataBaseFieldRule(DataType = "Int", Constraint = "Not Null", Remark = "编码")]
        public int Code { get; set; }

        [DataBaseFieldRule(DataType = "Varchar(20)", Constraint = "Not Null")]
        public string Name { get; set; }

        [DataBaseFieldRule(DataType = "Int", Constraint = "Not Null", DefaultValue = "0")]
        public bool IsDelete { get; set; }

        [DataBaseFieldRule(DataType = "DateTime", Constraint = "Not Null", DefaultValue = "GetDate()")]
        public DateTime CreateTime { get; set; }
    }

3、打开AirCodeGeneration.exe,点击[选择DLL]打开包含模型类的DLL,在表格空间中选择你需要生成的模型后点击[生成SQL脚本]即可。

生成后的脚本如下

USE  [TestDB]
-------------------------------Create Table CoreTest ------------------------------------
     CREATE TABLE [dbo].[CoreTest] 
     (
       Id   Int  Identity(1,1)   Primary Key    ,  -- 主键    
       Code   Int  Not Null     ,  -- 编码    
       Name   Varchar(20)  Not Null     ,  --    
       IsDelete   Int  Not Null  default  0     ,  --    
       CreateTime   DateTime  Not Null  default  GetDate()     --    
     )

详细案例可参考源码中的Air.Code.Generation.Sample项目

TODO

可对指定模型生成Alter脚本

编写初衷

目前实际工作中有很多项目没有使用Microsoft.Entity Framework,项目中还是由开发人员在数据库里建模后再到代码中编写模型类。使用AirCodeGeneration可以在编写完模型类后直接生成数据库建表脚本,省去枯燥无味的建表工作。

About

Air代码生成

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%