第一步:新建自定义模板

<#@ 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. Sublime Text 支持GBK , 解决中文乱码问题

    Sublime Text 是一款既简洁又强大的文本编辑器,其默认采用UTF8编码,这就造成了许多采用GBK编码的文件里的中文显示为乱码. 有一个专门解决这个问题的插件:ConvertToUTF8 要安 ...

  2. redis分布式锁小试

    一.场景 项目A监听mq中的其他项目的部署消息(包括push_seq, status, environment,timestamp等),然后将部署消息同步到数据库中(项目X在对应环境[environm ...

  3. Android入门笔记

    Android项目的目录结构(Eclipse版) src:项目源代码文件夹 R.java:存放项目中所有资源文件的资源id,永远不要修改 Android.jar:Android的jar包,导入此包方可 ...

  4. C#通用数据库操作类

  5. 卡特兰数 Catalan 笔记

    一.公式 卡特兰数一般公式 令h(0)=1,h(1)=1,catalan数满足递推式.h(n) = h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>= ...

  6. BZOJ.4293.[PA2015]Siano(线段树)

    题目链接 \(Description\) 有一片n亩的土地,要在这上面种草. 在每一亩土地上都种植了一种独一无二的草,其中,第\(i\)亩土地的草每天会长高\(a[i]\)厘米. 一共会进行\(m\) ...

  7. Wed 基础

    HTTP协议 www服务应用的默认端口为80 https加密服务的默认端口为443 常见状态码及其对应的作用 http://oldboy.blog.51cto.com/2561410/716294 2 ...

  8. Shell中的>/dev/null 2>&1 与 2>&1 >/dev/null 与&>/dev/null 的区别

    默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: & ...

  9. memcache bug

    用memcached有时会报错  the lowest two bytes of the flags array is reserved for pecl/memcache 将以前的 $mc-> ...

  10. only_full_group_by的注意事项

    only_full_group_by的注意事项 使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行