如何使用ServiceStack DTO TranslateTo和PopulateWith?

dav*_*ola 5 c# dto servicestack

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

我正在将ServiceStackWebService项目添加到我的解决方案中.我按照指南.工作正常.

现在我想添加UserService:Service返回的UserDTO使用TranslateToPopulateWith在这里.

[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>() };
    }
}
Run Code Online (Sandbox Code Playgroud)

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

我到了<my_object_returned_from_database> does not contain a definition for 'TranslateTo'.

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

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

Mik*_*ock 4

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

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