将Linq-to-Sql实体映射到自定义域实体

时间:2009-05-19 14:03:16

标签: linq-to-sql mapping dns domain-driven-design

我如何将我的Linq-to-Sql生成实体(DTO)映射到我的域实体?问题是我无法映射关联,因为它们的类型不同。 DTO使用EntitySet和EntityRef,我的域实体使用IList和T.

我看了一些博文:Ian Cooper的架构-linq-to-sql-applications-part-5 和digital_ruminations linq-to-sql-poco-support

现在我做这样的事情:

public IList<Entities.Customer> GetAll()
    {
        try
        {
            return _custConverter.Convert(base.GetEntities());
        }

但Convert方法只转换基本属性而不转换关联。 我有什么想法可以做到最好吗?

1 个答案:

答案 0 :(得分:2)

您可能需要查看AutoMapper。它可以自动开箱即用地映射属性,并支持广泛的自定义,例如自定义转换器,我认为可以用来从您的EntitySet中制作列表。


更新