原文地址:https://www.cnblogs.com/sunkaixuan/p/5751503.html#
sqlsugar版本 SqlSugar-4.6.0.1
一:
創建T4模板 ,一定要自已新建,把T4代碼復制進去,好多人因為用我現成的T4報錯(原因不明)
點擊添加文件,選擇【 運行時文本模版】(后綴為 .tt)取個名字點確定。

二:
設置當前T4所需要的序集並且引用 SqlSugar.dll
編寫連接數據庫代碼
調用SqlSugar生成實體函數,填寫參數。

<#@ template hostspecific="true" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="SqlSugar" #> <#@ import namespace="Newtonsoft.Json" #> <#@ import namespace="System.IO" #> <#@ import namespace="System.Web" #> <#@ assembly name="$(SolutionDir)\Lib\Newtonsoft.Json.dll" #> <#@ assembly name="$(SolutionDir)\Lib\SqlSugar.dll" #> <# //當前項目目錄 string projectDir = Host.ResolveAssemblyReference("$(ProjectDir)"); //解決方案目錄 string solutionDir = Host.ResolveAssemblyReference("$(SolutionDir)"); var db = new SqlSugarClient(new ConnectionConfig() {
ConnectionString = "server=PC-201508161038\\SQLEXPRESS;Initial Catalog=201711SqlSugar_DB;Persist Security Info=True;User ID=sa;Password=123456",
DbType = DbType.SqlServer, IsAutoCloseConnection = true }); db.DbFirst.CreateClassFile("E:\\TProject\\SqlSugarDemo\\Model"); #>
遇到的問題
1,程序保存了,但是不生成也不報錯
新建的tt用的自定義工具默認是TextTemplatingFilePreprocessor,改成TextTemplatingFileGenerator后就可以了
2,提示Host未定義

hostspecific="true"

3,提示轉義符號問題。(使用雙斜杠)

4,最重要的
一定要看清自己用的sqlsugar.dll的版本。不同版本用法是不一樣的。自己開始參考頭部原文地址的文章設置的,出錯找不到原因。后面在github下載新的源碼。
引用源碼里面的sqlsugar.dll,參考源碼里面的T4模板用法實現的。
附1:數據庫創建實例
CREATE TABLE [dbo].[dt_ip]( [id] [int] IDENTITY(1,1) NOT NULL Primary Key , [bip] [nvarchar](100) NULL, [eip] [nvarchar](100) NULL, [status] [int] NOT NULL, [by1] [nvarchar](2000) NULL) GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_ip', @level2type=N'COLUMN',@level2name=N'id' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'開始ip' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_ip', @level2type=N'COLUMN',@level2name=N'bip' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'結束ip' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_ip', @level2type=N'COLUMN',@level2name=N'eip' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'狀態' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_ip', @level2type=N'COLUMN',@level2name=N'status' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'備用字段' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'dt_ip', @level2type=N'COLUMN',@level2name=N'by1' GO
附二:生成的實體類
using System; using System.Linq; using System.Text; namespace Model { ///<summary> /// ///</summary> public partial class dt_ip { public dt_ip(){ } /// <summary> /// Desc:id /// Default: /// Nullable:False /// </summary> public int id {get;set;} /// <summary> /// Desc:開始ip /// Default: /// Nullable:True /// </summary> public string bip {get;set;} /// <summary> /// Desc:結束ip /// Default: /// Nullable:True /// </summary> public string eip {get;set;} /// <summary> /// Desc:狀態 /// Default: /// Nullable:False /// </summary> public int status {get;set;} /// <summary> /// Desc:備用字段 /// Default: /// Nullable:True /// </summary> public string by1 {get;set;} } }
demo地址:http://download.csdn.net/download/believeys/10144397 (如果需要可以幫着下載不用扣分)
