DbContent模板的修改
1 命名空间
using Model;
using Model.ModelViews;
using AutoMapper;
2 生成类
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
可以改成我们自己需要的
public static class EntityMapper
3 构造函数
public <#=code.Escape(container)#>()
可以改成我们自己需要的static EntityMapper()
4 循环集合然后生成属性
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
{
#>
<#=codeStringGenerator.DbSet(entitySet)#>
<#
}
public string DbSet(EntitySet entitySet)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} DbSet<{1}> {2} {{ get; set; }}",
Accessibility.ForReadOnlyProperty(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType),
_code.Escape(entitySet));
}
5 输出实体的名字
<#=code.Escape(entitySet) #>
// 3 生成方法
<#
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
{
#>
public static <#=code.Escape(entitySet) #>View EntityMap(this <#=code.Escape(entitySet) #> model)
{
return Mapper.Map<<#=code.Escape(entitySet) #>,<#=code.Escape(entitySet) #>View>(model);
}
public static <#=code.Escape(entitySet) #> EntityMap(this <#=code.Escape(entitySet) #>View model)
{
return Mapper.Map<<#=code.Escape(entitySet) #>View,<#=code.Escape(entitySet) #>>(model);
}
<#
}
#>
}
////方法结尾-------