代码之家  ›  专栏  ›  技术社区  ›  adriaanp

automapper自定义类型转换器依赖项

  •  2
  • adriaanp  · 技术社区  · 16 年前

    我正在尝试实现automapper,将视图模型映射到一个实体,其中该实体的一个属性也是一个实体。

    我希望转换器使用nhibernate的isession.load<gt;方法加载此内容。

    所以问题是,将ISession注入到ITypeConverter实现中的最佳方法是什么?还有一件事要记住,被注入的ISession将被处理掉,所以每次需要映射时,我都需要注入一个新的ISession?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Jimmy Bogard    16 年前

    我们在系统中这样做,并且有guid->实体类型转换器之类的东西。但是,我们根据httpcontext对issession进行范围划分,因此新的issession将 按ITypeconverter注入。但是,automapper每次需要时都会实例化一个新的ITypeConverter实例。

    但是两个来自不同会话实例的实体聚集在一起会导致麻烦。只要确保每个httpContext共享一个isession实例,就可以设置。

        2
  •  0
  •   griegs    16 年前

    我不知道有关NHibernate的事,抱歉,似乎没有人想回答这个问题,所以…

    我解决这个问题的方法可能是编写自己的自定义模型活页夹。然后它可以被解析为将我的视图模型映射到我的实体。

    您还可以访问httpRequest对象,这样您就可以取出所有文本字段并将它们映射到您的实体。

    我希望这对你有帮助,尽管这不是你的问题。

    推荐文章