我正在尝试实现Automapper将ViewModel映射到Entity,其中Entity的一个属性也是一个Entity。
我希望我的转换器使用NHibernate的ISession.Load<>加载它的方法。
所以问题是将ISession注入我的ITypeConverter实现的最佳方法是什么?另外要记住的一点是,注入的ISession将被处理掉,所以每当映射需要发生时我需要注入一个新的ISession?
答案 0 :(得分:1)
我们在我们的系统中执行此操作,并使用Guid->实体类型转换器等内容。但是,我们根据HttpContext确定ISessions的范围,因此每个ITypeConverter都会注入一个新的ISession not 。但是,AutoMapper会在每次需要时实例化一个新的ITypeConverter实例。
但是,来自不同ISession实例的两个实体将陷入困境。只需确保每个HttpContext共享一个ISession实例,然后就可以了。
答案 1 :(得分:0)
我不知道nHibernate对不起,似乎没有人想回答这个问题......
我要解决这个问题的方法是编写我自己的Custom Model Binder。然后,可以将我的ViewModel映射到我的实体。
您还可以访问HttpRequest对象,这样您就可以将所有文本字段输出并将它们映射到您的实体。
我希望这有帮助,即使它不是特定于你的问题。