2014-06-17 31 views
0

从WebApi返回nHibernate实体是个好主意吗?对于简单的实体,我试图使用这个,但复杂的实体呢。在这种情况下如何处理延迟加载?从web api返回nhibernate实体?

+1

嗯,我确实使用NHiberante,web-api和angularjs。并且,形成DB到UI并返回的是POCO对象。但它不是免费的。你必须管理序列化。因此,要么使用自定义的JSON解析器(可注入Web api),要么将POCO转换为装饰有[Json]属性的DTO。但总的来说,这是可行的...也许开始,尝试玩,谷歌,问一次问题会出现在这里... –

回答

4

可以通过WebAPI返回复杂实体,但它不是最好的方法,我建议创建一个DTO对象来匹配客户端操作映射到NHibernate实体并将其发送API。

关于延迟加载,如果您通过Web API公开对象,将无法使用,因为对象序列化实体的所有属性将被访问,并且它们将从持久性加载,因此在事实上在这种情况下使用延迟加载效率不高。