v00*_*d00 9 c# t4 code-generation dto visual-studio
是否可以编写t4模板(或者如果它已经存在),它将能够根据*.edmx文件中的数据生成DTO类?
我必须为当前项目编写DTO类,这个过程有点令人讨厌.
我想要获得的是获得DTO类,它将标量属性定义为简单的自动属性,导航参数作为其他DTO类的封装实例.
示例:
public class SomeClassDTO
{
public byte Id { get; set; }
public string Description { get; set; }
public OtherClassDTO SomeProperty {get;set;}
public IList<AnotherClassDTO> Objects {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的起点,更令人满意的可能是以下示例:
/// <summary>
/// Employee details DTO.
/// </summary>
public class EmployeeDetailsDTO
{
[Key]
public long Id { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string Surname { get; set; }
...
public long? PhotoId { get; set; }
// Home address properties.
public string HomeAddressAddressLine1 { get; set; } // This is just name of field, not flattened list
public string HomeAddressAddressLine2 { get; set; }
public string HomeAddressAddressLine3 { get; set; }
public string HomeAddressPostcode { get; set; }
public short? HomeAddressCountryId { get; set; }
public long? HomeAddressCountyId { get; set; }
public long? HomeAddressTownId { get; set; }
public short? HomeTelephoneCountryId { get; set; }
public string HomeTelephoneNumber{ get; set; }
public string HomeTelephoneExtension { get; set; }
public short? PersonalMobileCountryId { get; set; }
public string PersonalMobileNumber { get; set; }
public string PersonalMobileExtension { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这是一个展平DTO,它代表复合结构,可以通过ValueInjector SameNameFlat/UnFlat注入注入实体.
这是最终目标,但任何建议都会受到赞赏.
kzf*_*abi 14
我最近在CodePlex上发布了一个名为EntitiesToDTOs的实体框架DTO生成器,它是免费的开源软件,它被用作Visual Studio 2010和2012的AddIn.我认为它对您有所帮助.
转到http://entitiestodtos.codeplex.com下载它,让我知道你的想法;)
| 归档时间: |
|
| 查看次数: |
6220 次 |
| 最近记录: |