批量根据实体类生成相关的类
来源:互联网 发布:于莺淘宝店假货 编辑:程序博客网 时间:2024/05/29 06:35
<#
// 从实体类生成相关的实体类
#>
<#@ template hostspecific="true" language="C#" #>
<#@ assembly name="EnvDTE" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Configuration" #>
<#@ import namespace="System.IO" #>
<#@ output extension=".cs" #>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ include file="MultipleOutputHelper.ttinclude" #>
<#
//Multi output
var fileManager = Manager.Create(Host, GenerationEnvironment);
//所引用的using
var modelSp = "Hanlly.MedicalEthics.Models.MedicalQualityDB";
var repSp = "Hanlly.MedicalEthics.Repository";
var repBaseSp = "Hanlly.MedicalEthics.Repository.Infrastructure";
string modelDir = @"D:\work\yiliao\Hanlly.MedicalEthics.Models\MedicalQualityDB"; //需要生成的实体类文件所在的路径
var fileList = Directory.GetFiles(modelDir, "*.cs");
int fileCount = 0;
foreach (var file in fileList)
{
var fileInfo = new FileInfo(file);
var fileName = Path.GetFileNameWithoutExtension(file);
if(fileName.EndsWith("Context")){
continue;
}
var modelName = fileName;
fileName = fileName.Replace("_", "");
var repFileName = fileName + "Repository";
var repFileNameWithExtension = repFileName + ".cs";
//Repository Register
var register = "For<I" + repFileName + ">().Use<" + repFileName + ">();"; //生成的文件名
fileManager.StartNewFile(repFileNameWithExtension);
#>
/**********************************************************************************
*
* 文件名称 :<#= repFileNameWithExtension #>
* 作者 : HuangFL
* 创建时间 : <#= DateTime.Now.ToString("yyy-MM-dd hh:mm:ss") #>
*
************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using <#= modelSp #>;
using <#= repBaseSp #>;
namespace <#= repSp #>
{
public interface I<#= repFileName #> : IRepository<<#= modelName #>>
{
}
public class <#= repFileName #> : RepositoryBase<<#= modelName #>>, I<#= repFileName #>
{
public <#= repFileName #>(IDefaultDataContextFactory factory)
: base(factory)
{
}
}
}
<#
fileManager.EndBlock();
WriteLine("//" + register);
fileCount ++;
}
fileManager.Process(true);
WriteLine("//一共生成文件数 : " + fileCount);
#>
// 从实体类生成相关的实体类
#>
<#@ template hostspecific="true" language="C#" #>
<#@ assembly name="EnvDTE" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Configuration" #>
<#@ import namespace="System.IO" #>
<#@ output extension=".cs" #>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ include file="MultipleOutputHelper.ttinclude" #>
<#
//Multi output
var fileManager = Manager.Create(Host, GenerationEnvironment);
//所引用的using
var modelSp = "Hanlly.MedicalEthics.Models.MedicalQualityDB";
var repSp = "Hanlly.MedicalEthics.Repository";
var repBaseSp = "Hanlly.MedicalEthics.Repository.Infrastructure";
string modelDir = @"D:\work\yiliao\Hanlly.MedicalEthics.Models\MedicalQualityDB"; //需要生成的实体类文件所在的路径
var fileList = Directory.GetFiles(modelDir, "*.cs");
int fileCount = 0;
foreach (var file in fileList)
{
var fileInfo = new FileInfo(file);
var fileName = Path.GetFileNameWithoutExtension(file);
if(fileName.EndsWith("Context")){
continue;
}
var modelName = fileName;
fileName = fileName.Replace("_", "");
var repFileName = fileName + "Repository";
var repFileNameWithExtension = repFileName + ".cs";
//Repository Register
var register = "For<I" + repFileName + ">().Use<" + repFileName + ">();"; //生成的文件名
fileManager.StartNewFile(repFileNameWithExtension);
#>
/**********************************************************************************
*
* 文件名称 :<#= repFileNameWithExtension #>
* 作者 : HuangFL
* 创建时间 : <#= DateTime.Now.ToString("yyy-MM-dd hh:mm:ss") #>
*
************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using <#= modelSp #>;
using <#= repBaseSp #>;
namespace <#= repSp #>
{
public interface I<#= repFileName #> : IRepository<<#= modelName #>>
{
}
public class <#= repFileName #> : RepositoryBase<<#= modelName #>>, I<#= repFileName #>
{
public <#= repFileName #>(IDefaultDataContextFactory factory)
: base(factory)
{
}
}
}
<#
fileManager.EndBlock();
WriteLine("//" + register);
fileCount ++;
}
fileManager.Process(true);
WriteLine("//一共生成文件数 : " + fileCount);
#>
0 0
- 批量根据实体类生成相关的类
- 批量根据实体类生成相关的类
- 根据数据库批量生成实体类
- Java 根据固定格式的Excel生成实体类
- Java 根据固定格式的Excel生成实体类
- hibernate 根据实体类自动生成表
- hibernate 根据实体类自动生成表
- MyEclipse根据数据库反向生成实体类
- 根据SQLServer数据表生成C#实体类
- java根据表生成实体类
- hibernate根据JPA生成实体类笔记
- Intelij根据数据库表生成实体类
- 如何根据hibernate的实体类和实体类配置文件生成数据库的表
- 如何根据hibernate的实体类和实体类配置文件生成数据库的表
- 通过C#程序生成数据库的实体类,根据SqlServer存储过程生成数据操作类
- xsd生成实体类相关问题
- 根据实体类在extjs中生成类
- Xml序列化--根据配置文件直接生成实体类
- 【CODEFORCES】 D. Pashmak and Parmida's problem
- iOS常用技巧
- 文本无关的说话人识别综述(一)----简介
- Java内省机制
- EL表达式
- 批量根据实体类生成相关的类
- Tomcat内存溢出,修改配置
- 调用C#版gdal库的一个注意事项
- LeetCode | Two Sum
- 重构笔记——移除对参数的赋值
- PHP生成图片缩略图
- 处理libpng warning: "iCCP: Not recognizing
- 关于ViewStub的初始
- .net 进度画面