c# – 用于EF 4实体模型的DTO生成器
发布时间:2020-12-15 06:56:30 所属栏目:百科 来源:网络整理
导读:是否可以编写t4模板(或者已经存在),这将基于* .edmx文件中的数据能够生成DTO类? 我必须为当前的项目编写DTO类,这个过程有点麻烦. 我想要获取的是获取将标量属性定义为简单自动属性的DTO类,导航参数作为其他DTO类的封装实例. 示例: public class SomeClassD
是否可以编写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;} } 这是一个很好的起点,更可取的可能如下图所示: /// <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; } } 您可以看到这是一个扁平的DTO,它代表复合结构,并可以通过ValueInjector SameNameFlat / UnFlat注入向实体注入. 这是最终的目标,尽管任何建议都不会被赞赏. 解决方法
我最近在CodePlex发布了一个名为EntitiesToDTO的实体框架DTO生成器,它是免费的和开源的,它被用作Visual Studio 2010和2012的AddIn.我认为这将为您提供帮助.
去http://entitiestodtos.codeplex.com下载,让我知道你的想法;) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |