c# – 如何使用ServiceStack DTO TranslateTo和PopulateWith?

我是ServiceStack的新手.我有一个使用Cambium ORM的相当大的.NET C#解决方案.

我正在将ServiceStack WebService项目添加到我的解决方案中.我跟着the guide.工作正常.

现在我想添加UserService:Service返回用户DTO使用TranslateTo或PopulateWith写成here.

[Route("/user")]
[Route("/user/{Id}")]
public class User
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
}


public class UserService : Service
{
    private Users users = new Users();

    public UserResponse Get(User request)
    {
        return new UserResponse { Result = users.Single(request.Id).TranslateTo<User>() };
    }
}

但是我无法找到这些方法.

我得到< my_object_returned_from_database>不包含’TranslateTo’的定义.

我确实克隆了ServiceStack存储库,但在任何扩展中都找不到这些方法的任何实现.

我错过了什么?非常感谢你的帮助!

解决方法:

对于ServiceStack v3,它是NuGet中当前可用的稳定版本,TranslateTo和相关方法是ServiceStack.Common命名空间中的扩展方法.请注意,如果要克隆GitHub存储库,则v3不是主分支.因此,在文件中添加使用ServiceStack.Common应该足以导入扩展方法.

ServiceStack v4是GitHub中的主分支,是预览版.我认为TranslateTo扩展方法已重命名为ConvertTo.

上一篇:关于hibernate字段映射@colunm出现的问题以及jpa驼峰大写转_小写的问题探究


下一篇:JVisualVM 模拟一次内存泄漏场景分析