我是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.