动软 生成 linq相关DAO
第一步:新建自定义模板
<#@ 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的更多相关文章
- 动软生成的WCP DAO层模板(不使用接口)
本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...
- OracleHelper 动软生成
using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...
- 动软生成Model(dapper.common)
<#@ template language="c#" HostSpecific="True" #><#@ output extension= ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用
上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...
- 动软Model 模板 生成可空类型字段
动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...
- 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)
首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...
- CodeMatic动软自动生成Nhibernate
前两天调查了下自动生成工具MyGeneration和codesmith前一个版本已经不更新了后面一个太高级生成 的代码包含了太多东西,没整明白.不过生成的xmlmapping很强大.所以干脆整合一下c ...
- 动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以
动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfd ...
- 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,这种形 ...
随机推荐
- 016 在大数据中,SSH无密钥登录
一:概述 1.关于ssh ssh是一种安全协议. 会生成一对公钥和私钥. 2.问题的由来 3.解决方式 将生成的公钥发送到远程的机器上. 4.位置 主目录下的.ssh文件下. 二:在伪分布式下的操作 ...
- Linux 内核的定时机制实验
参考链接: Linux struct itimerval用法: http://blog.csdn.net/hbuxiaofei/article/details/35569229 Linux定时器实验: ...
- 洛谷P1784 数独
To 洛谷.1784 数独(类似(或者说相同)题:CODEVS.4966 简单数独(4*4数独) CODEVS.2924 数独挑战) 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数 ...
- 潭州课堂25班:Ph201805201 周五 (课堂笔记)
小三角: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- 潭州课堂25班:Ph201805201 并发(进程,线程)二 第十二课 (课堂笔记
线程与进程的其他相关操作 import threading # 线程 import multiprocessing # 进程 import socket import time def wo(): g ...
- SVN解决本地版本控制与服务器版本冲突问题
最近经常遇到一个冲突问题,svn服务器已经没有这个文件,本地也没有这个文件,但是你提交代码的时候svn会显示冲突,也就是说本地svn仍然在管理着这个文件. 解决办法:在相应的目录下新建一个名字一样的文 ...
- iOS 10.3下使用Fiddler抓取HTTPS请求
最近使用Fiddler抓取手机上的HTTPS请求时,遇到一个问题.设置完之后,访问HTTPS的页面,却得到一个错误 网络出错,轻触屏幕重新加载:-1202 (如下图所示) 我印象中,之前都好好的, ...
- tomcat支持https的server.xml配置
访问地址:https://127.0.0.1/testWeb/mySevlet?url=123&action=aaa server.xml: <?xml version='1.0' en ...
- .hashCode方法的作用
对于包含容器类型的程序设计语言来说,基本上都会涉及到hashCode.在Java中也一样,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet.Hash ...
- C# ConcurrentStack实现
我们通过C# Queue 和Stack的实现知道Stack是依靠数组实现的,那么ConcurrentStack的栈又是如何实现的了,然后它的线程安全又是怎么做到的了? 来看看其code吧 public ...