gpt4 book ai didi

c# - DTO POCO转换

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:24 27 4
gpt4 key购买 nike

我有几个 DTO 和相应的 POCO。

在它们之间进行转换的推荐方法是什么以及转换函数的位置。

我最初的想法是将两个转换函数放在 POCO 中,并将它们称为 ToPOCO 和 ToDTO。

但是对此是否有更好的想法或者创建扩展方法?

谢谢,的想法。

最佳答案

查看为您执行此操作的库:

我个人最喜欢的轻量级是使用隐式转换操作。我必须补充一点,只有当我打算在未来重构后删除“胶水”层时才使用它。这可能不是生产环境中的长期解决方案(因为隐含性很容易错过)。

public class MyPoco
{
public static implicit operator MyPoco(MyDTO o)
{
if (o == null) return null;
return new MyPoco {
SomeAmount = Convert.ToDecimal(o.SomeAmount),
SomeBool = Equals("Y", o.SomeBool ),
Sub1 = o.Sub1,
Sub2 = o.Sub2,
};
}
public static implicit operator MyDTO(MyPoco o)
{
if (o == null) return null;
return new MyDTO {
SomeAmount = o.SomeAmount.ToString(),
SomeBool = o.SomeBool ? "Y":"N",
Sub1 = o.Sub1,
Sub2 = o.Sub2,
};
}
public decimal SomeAmount { get; set; }
public bool SomeBool { get; set; }
public MySubPoco1 Sub1 { get; set; }
public MySubPoco2 Sub2 { get; set; }
}

关于c# - DTO POCO转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com