Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用Automapper 9静态API_C#_Automapper - Fatal编程技术网

C# 无法使用Automapper 9静态API

C# 无法使用Automapper 9静态API,c#,automapper,C#,Automapper,我无法在automapper 9中使用automapper静态api 根据automapper从9.0版开始的文档,静态API不再可用 为自己创建一个静态版本是一个好主意还是使用依赖注入更好?您必须建立映射器的实例,并以某种方式访问它。这可以是DI,也可以是简单的静态属性,将映射器放在其中 显然,这意味着映射器当时工作正常-它始终为此做好了准备,所有静态api提供的基本上都是在Automapper中定义的“已知位置”。您必须建立映射器的实例,并以某种方式访问它。这可以是DI,也可以是简单的静态属

我无法在automapper 9中使用automapper静态api

根据automapper从9.0版开始的文档,静态API不再可用


为自己创建一个静态版本是一个好主意还是使用依赖注入更好?

您必须建立映射器的实例,并以某种方式访问它。这可以是DI,也可以是简单的静态属性,将映射器放在其中


显然,这意味着映射器当时工作正常-它始终为此做好了准备,所有静态api提供的基本上都是在Automapper中定义的“已知位置”。

您必须建立映射器的实例,并以某种方式访问它。这可以是DI,也可以是简单的静态属性,将映射器放在其中


显然,这意味着映射器当时工作正常-它始终为此做好了准备,所有静态api提供的基本上都是在Automapper中定义的“已知位置”。

感谢您的帮助,为什么Automapper强制消费者使用DI,我们是否为映射器编写模拟测试!?学习基础知识。Automapper不强制您使用DI-我基本上有一个MappingContainer静态类,它在constructor中初始化Automapper并公开一个静态属性。不涉及DI。仅仅因为没有静态API,并不“强制”您使用DI。我不为映射程序编写模拟测试——我实际上是对数据库进行完整的集成测试。我的许多映射器实际上只用于投影。@ShervinIvari撇开我不谈,也许可以研究一下为什么使用DI比全局变量更受欢迎。这只是一种干净的编码常规做法。@LucianBargaoanu没错,但在一些复杂的解决方案中,您需要的实用程序很多,因此您以胖构造函数结束。有很多方法可以解决这个问题,例如检查MediatR,但回到静态并不是答案。这是一个进步,用一组问题交换另一组问题,希望更小的问题:)谢谢你的帮助,为什么Automapper强迫消费者使用DI,我们是否为映射程序编写模拟测试!?学习基础知识。Automapper不强制您使用DI-我基本上有一个MappingContainer静态类,它在constructor中初始化Automapper并公开一个静态属性。不涉及DI。仅仅因为没有静态API,并不“强制”您使用DI。我不为映射程序编写模拟测试——我实际上是对数据库进行完整的集成测试。我的许多映射器实际上只用于投影。@ShervinIvari撇开我不谈,也许可以研究一下为什么使用DI比全局变量更受欢迎。这只是一种干净的编码常规做法。@LucianBargaoanu没错,但在一些复杂的解决方案中,您需要的实用程序很多,因此您以胖构造函数结束。有很多方法可以解决这个问题,例如检查MediatR,但回到静态并不是答案。这就是进步,用一组问题换另一组问题,希望更小的问题:)