Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# 将dto映射到实体?也许是汽车制造商?属性应该匹配吗?linq选择_C#_Linq_Automapper_Dto - Fatal编程技术网

C# 将dto映射到实体?也许是汽车制造商?属性应该匹配吗?linq选择

C# 将dto映射到实体?也许是汽车制造商?属性应该匹配吗?linq选择,c#,linq,automapper,dto,C#,Linq,Automapper,Dto,我正在尝试使用我称之为基本LINQtoSQL的方法创建一个LINQtoSQL解决方案。这不是一个通过EF或诸如此类的完整ORM解决方案。现在的重点是利用LINQ的强大功能并减少存储过程(以及其他一些好处) 我以前做过一些DTO和实体的工作。。。但这也是一个自定义实现。在该实现中使用了automapper。我知道当实体属性与DTO属性匹配时,automapper“工作得最好”。但是如果他们没有呢?您能以自定义方式配置它吗 我想更大的问题是。。。对于不能在查询中实例化“LINQ映射的”“实体”这一事

我正在尝试使用我称之为基本LINQtoSQL的方法创建一个LINQtoSQL解决方案。这不是一个通过EF或诸如此类的完整ORM解决方案。现在的重点是利用LINQ的强大功能并减少存储过程(以及其他一些好处)

我以前做过一些DTO和实体的工作。。。但这也是一个自定义实现。在该实现中使用了automapper。我知道当实体属性与DTO属性匹配时,automapper“工作得最好”。但是如果他们没有呢?您能以自定义方式配置它吗


我想更大的问题是。。。对于不能在查询中实例化“LINQ映射的”“实体”这一事实,这是一个真正的解决方案。为了明确起见,您不能使用linq并选择新的“实体”,您必须选择一个未映射的DTO。我最终要做的是避免在给定查询中将实体“映射”到DTO。我想这没什么大不了的,但是像automapper这样的东西能解决这个问题吗?

我不太确定你在问什么,但是:

我知道当实体属性与DTO属性匹配时,automapper“工作得最好”。但是如果他们没有呢?您能以自定义方式配置它吗

如果你问的是我认为你在问的问题,你应该研究.ForMember并重写Convert函数。wiki上有两个示例: .表格成员: 转换:

当DTO和实体匹配时,Automapper确实工作得“最好”,因为如果它们的属性名称和类型匹配,那么在两者之间建立映射就非常容易。当它们不匹配时,您需要使用.ForMember手动选择属性,或者通过重写Convert函数手动执行整个转换

我希望这有点帮助。如果不是或需要更多信息,请在下面弹出评论