将EntityObject映射到POCO并返回到WCF RIA服务会导致重复的子实体

时间:2011-12-29 10:04:24

标签: linq-to-entities automapper wcf-ria-services

我创建了一个完整的Visual Studio 2010解决方案,可以在此重现此问题:

http://dl.dropbox.com/u/42317133/WcfRiaAutoMapper.zip

  1. 构建解决方案。
  2. 在测试项目中运行单元测试以部署数据库。
  3. 调试SilverlightApplication1项目
  4. 点击“点击我”按钮。
  5. 请注意,当只需要一个作者时,会将两个作者添加到作者数据库表中。
  6. 在“RIAServicesLibrary1.Web”项目的BlogService.cs中的InsertPost方法中进行映射时存在问题。

    如果我评论这两行,那么它会按预期工作。

    有什么想法吗?

    AutoMapper 1.1和AutoMapper 2.0.0都会出现这种情况

    非常感谢。

    这是此处提交的问题的重新发布:
    https://github.com/AutoMapper/AutoMapper/issues/165

1 个答案:

答案 0 :(得分:1)

我终于可以通过使用UseDestinationValue成员选项解决此问题,如下所示:

Mapper.CreateMap<Post2, Post>().ForMember(destinationMember => destinationMember.Author, memberOptions => memberOptions.UseDestinationValue());