servicestack ServiceStack Translate发送回空对象,servicestack,servicestack" /> servicestack ServiceStack Translate发送回空对象,servicestack,servicestack" />

servicestack ServiceStack Translate发送回空对象

servicestack ServiceStack Translate发送回空对象,servicestack,servicestack,我的回答如下: public class PatientFindResponse : IHasResponseStatus { public class Patient { public int PeopleId { get; set; } public string FirstName { get; set; } public string LastName { get

我的回答如下:

 
public class PatientFindResponse : IHasResponseStatus
    {
        public class Patient
        {

            public int PeopleId { get; set; }


            public string FirstName { get; set; }


            public string LastName { get; set; }


        }


        public Patient Result { get; set; }
        public ResponseStatus ResponseStatus { get; set; }
    }
这是我的服务:

public class PatientFindService : IService
    {
        public ISessionFactory NHSessionFactory { get; set; }

        public PatientFindService(ISessionFactory sessionFactory)
        {
            NHSessionFactory = sessionFactory;
        }

        public object Execute(PatientFind request)
        {
            using (var session = NHSessionFactory.OpenSession())
            {

                var result = session.Load<MyCompany.MyProduct.Entities.People>(request.PeopleId);

                return new PatientFindResponse
                {
                    Result = result.TranslateTo<PatientFindResponse.Patient>()
                };

            }
        }
    }

这里要显示的最重要的信息是您试图翻译的两种类型的定义。确保两者都有同名的公共属性

另外,诊断问题的最佳方法是隔离问题,例如,您不需要ServiceStack或NHibernate来测试
TranslateTo
功能,如果您隔离测试结果,则更容易看到发生了什么,例如:

var model = new MyCompany.MyProduct.Entities.People { ... };
var dto = model.TranslateTo<PatientFindResponse.Patient>();
dto.PrintDump(); //Print the output of the translated object

谢谢你的回复,我正在使用Service ESTACK.So界面版本3.7.8.当我去IService的时候,我没有看到任何方法只执行,我有错误的版本吗?3.7X是非常旧的升级,最新的版本是3.93OK我更新到3.933,我仍然没有在对象浏览器中看到接口iSeries设备的任何方法定义。啊,好的,一定是在某个隐蔽的地方处理的。我已经验证了属性是公共的,并且名称也相同。你能更新你的答案以包含这两种类型的类定义吗?
var model = new MyCompany.MyProduct.Entities.People { ... };
var dto = model.TranslateTo<PatientFindResponse.Patient>();
dto.PrintDump(); //Print the output of the translated object
public class PatientFindService : IService 
{
    public object Any(PatientFind request) {
        ...
    }
}