第一步:新建自定义模板

<#@ template language="c#" HostSpecific="True" #>
<#@ output extension= ".cs" #>
<#
TableHost host = (TableHost)(Host);
host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
string identityKey=host.IdentityKey.ColumnName ;
string ClassName =host.TableName;
string ClassNames =host.TableName+"s";
#>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace DAL
{
public class <#= ClassName #>_DAO
{ public static string Insert(<#= ClassName #> objEntity)
{
try
{
HISDataContext db = DatabaseHelper.GetDB();
db.<#= ClassNames #>.InsertOnSubmit(objEntity);
db.SubmitChanges();
}
catch (System.Exception ex)
{
return ex.Message;
}
return string.Empty;
} public static string Update(<#= ClassName #> model)
{
try
{
HISDataContext db = DatabaseHelper.GetDB();
<#= ClassName #> oldEntity = db.<#= ClassNames #>.First(c => c.<#= identityKey #> == model.<#= identityKey #>);
DatabaseHelper.Assign<<#= ClassName #>>(model, oldEntity);
db.SubmitChanges();
return "";
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
} public static string DeleteById(int ID)
{
try
{
HISDataContext db = DatabaseHelper.GetDB();
var rs = db.<#= ClassNames #>.Where(c => c.<#= identityKey #> == ID);
if (rs.Count() > )
{
<#= ClassName #> objKey = rs.First<<#= ClassName #>>();
db.<#= ClassNames #>.DeleteOnSubmit(objKey);
db.SubmitChanges();
}
}
catch (System.Exception ex)
{
return ex.Message;
}
return "";
} public static <#= ClassName #> SelectByID(long ID)
{
try
{
HISDataContext db = DatabaseHelper.GetDB();
var rs = (from a in db.<#= ClassNames #>
where a.<#= identityKey #> == ID
select a).ToList<<#= ClassName #>>();
if (rs.Count() > )
return rs.First<<#= ClassName #>>();
else
return null;
}
catch (System.Exception ex)
{
throw new Exception(ex.Message);
}
} public static List<<#= ClassName #>> SelectAll()
{
try
{
HISDataContext db = DatabaseHelper.GetDB();
var list = (from n in db.<#= ClassNames #>
orderby n.<#= identityKey #> descending
select n).ToList<<#= ClassName #>>();
if (list.Count > )
{
return list;
}
else
{
return null;
} }
catch (System.Exception ex)
{
throw new Exception(ex.Message);
}
} } }

如果你的dao名称就是表名的话 那忽略第二步

第二步:批量修改生成文件名

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace Tools
{
/*
* kook 动软生成dal 用这个批量修改名称 给表名后边加上_dao
* 例如:t_user.cs-->t_user_DAO.cs
*/
class EditFileName
{
static void Main(string[] args)
{
Console.WriteLine("本程序修改动软生成的dao");
RenameFile(@"D:\CodematicDemo\linq", "_DAO");
Console.WriteLine("操作已完成");
Console.ReadKey();
}
public static void RenameFile(string ParentDir, string stringFront)
{
string[] files = Directory.GetFiles(ParentDir, "*.cs", SearchOption.TopDirectoryOnly);
foreach (string file in files)
{
string filename = Path.GetFileName(file);
string pathname = Path.GetDirectoryName(file);
filename = filename.Substring(,filename.Length-) + "_DAO"+".cs";
FileInfo fi = new FileInfo(file);
fi.MoveTo(Path.Combine(pathname, filename));
}
string[] dirs = Directory.GetDirectories(ParentDir);
foreach (string dir in dirs)
{
RenameFile(dir, stringFront);
}
}
}
}

动软 生成 linq相关DAO的更多相关文章

  1. 动软生成的WCP DAO层模板(不使用接口)

    本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...

  2. OracleHelper 动软生成

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  3. 动软生成Model(dapper.common)

    <#@ template language="c#" HostSpecific="True" #><#@ output extension= ...

  4. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用

    上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...

  5. 动软Model 模板 生成可空类型字段

    动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...

  6. 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)

    首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...

  7. CodeMatic动软自动生成Nhibernate

    前两天调查了下自动生成工具MyGeneration和codesmith前一个版本已经不更新了后面一个太高级生成 的代码包含了太多东西,没整明白.不过生成的xmlmapping很强大.所以干脆整合一下c ...

  8. 动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以

    动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfd ...

  9. C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入

    C# 嵌入dll   在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...

随机推荐

  1. 多线程学习笔记九之ThreadLocal

    目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...

  2. curl解压gzip页面gzcompress内容

    $headers = array( //"Content-type:application/json;charset='utf-8'", "Cache-Control:n ...

  3. Struts2标签里面调用java方法

    <s:if test="#session.user.hasPrivilegeByName(name)"> hasPrivilegeByName(name) 为User类 ...

  4. Android工程运用阿里freeline10秒快速编译分享

    git地址:https://github.com/alibaba/freeline 目前已经更新到0.6.0版本. 原来编译一次需要几分钟甚至几十分钟的android工程,运用freeline,1分钟 ...

  5. 来自极客头条的 15个常用的javaScript正则表达式

    摘要收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. Q ...

  6. vscode使用wsl调试代码

    第一步在WSL中配好环境 第二步安装CodeRunner即可,在用户配置中加入如下行: "terminal.integrated.shell.windows": "C:\ ...

  7. Cocos Creator采坑:原来使用Cocos Creator做游戏,是有服务器!!!

    我傻傻的以为,我们没有服务器. 今天上传测试代码,测试才发现! 原来我们真的是有服务器的!只不过是一个本地的服务器~!需要服务器打开,然后,扫码才能访问!! 为了证明我们是有服务器的,我做了一下测试 ...

  8. json与xml数据输出类

    class Response { /** * 按json方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @par ...

  9. 归一化(softmax)、信息熵、交叉熵

    机器学习中经常遇到这几个概念,用大白话解释一下: 一.归一化 把几个数量级不同的数据,放在一起比较(或者画在一个数轴上),比如:一条河的长度几千甚至上万km,与一个人的高度1.7m,放在一起,人的高度 ...

  10. 解决 Mac 的 Terminal 中,Java 乱码的问题

    在 .bash_profile 文件中,增加如下行: export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 然后,重新加载该配置 source .bash_pr ...