动软 生成 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,这种形 ...
随机推荐
- NDK官方下载链接
注:本文转载于成江海:<Android各个版本的NDK官方下载链接 > NDK官方网站:https://developer.android.google.cn/ndk/downloads/ ...
- 学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)
前言 前面两篇文章介绍了 python 中两大模块 pandas 和 numpy 的一些基本使用方法,然而,仅仅会处理数据还是不够的,我们需要学会怎么分析,毫无疑问,利用图表对数据进行分析是最容易的, ...
- Django之路12——form modelform formset modelformset的各种用法
首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用户提交的单个表单操作,字段可以用model中的表的字段来作为验证规则,适用于快速的 ...
- C# 使用PrintDocument 绘制表格 完成 打印预览 DataTable
经过不断的Google与baidu,最终整理出来的打印类 主要是根据两个参考的类组合而成,稍微修改了一下,参考代码及来源见最后(其中一份是VB语言的) 其中遇到的一些问题也已经得到了解决(分页,打印预 ...
- [Agc005D]K Perm Counting
[Agc005D] K Perm Counting Description 糟糕爷特别喜爱排列.他正在构造一个长度为N的排列.但是他特别讨厌正整数K.因此他认为一个排列很糟糕,当且仅当存在至少一个i( ...
- 公开课 之 tony 电子时钟 (课堂笔记)
# tony 之电子时钟from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDesktopWidget, QVBoxLayo ...
- crm的知识点整理
''' # 1. 通过ChangeList封装好多数据 # 2. 销售中公共资源:Q查询,3天 15天 from django.db.models import F,Q F 使用查询条件的值,专门取对 ...
- java中线程安全的map是ConcurrentHashMap
原理:http://www.cnblogs.com/ITtangtang/p/3948786.html 与hashtable的区别: http://blog.csdn.net/songfeihu08 ...
- 支付宝支付集成过程中如何生成商户订单号(out_trade_no)
out_trade_no是指商户网站唯一订单号,在商户端唯一,每个商户订单号会对应一个支付宝订单号 ,此订单号由珊瑚自己生成,商户订单号要求64个字符以内.可包含字母.数字.下划线:需保证在商户端不重 ...
- js获取浏览器版本信息整理
一.Navigator 对象 JavaScript Navigator 对象包含了有关访问者浏览器的所有信息.接下来我们学习 Navigator 对象的两个属性. appName 保存浏览器类型 ap ...