我的代码存在问题。 我有一些基本的WEB API控制器工作正常(三个字段没有任何外键),但我有一个API控制器的问题,从模型返回对象的列表,该类有一个外键到另一个类从该模型。 这将引发一个错误: 这里是API控制器:使用带有外键的对象返回带有WEB API控制器的JSON
Public Class MaestroProvinciaController
Inherits System.Web.Http.ApiController
Private db As New UnificadorEntities
' GET api/MaestroProvincia
Function GetMaestroProvincias() As IEnumerable(Of MaestroProvincia)
Dim l As IEnumerable(Of MaestroProvincia)
l = db.MaestroProvincia.AsEnumerable()
Return l
End Function
End Class
这里是MaestroProvincia的型号
Partial Public Class MaestroProvincia
Public Property Codigo As Integer
Public Property Descripcion As String
Public Overridable Property Usuario As ICollection(Of Usuario) = New HashSet(Of Usuario)
End Class
当我消费,去尝试,从浏览器到这个地址: ......../api/maestroprovincia
我得到了一个错误: Error del servidor El sistema encontró un error mientras extraía ......../api/maestroprovincia . Es posible que el servidor no esté disponible por mantenimiento o no esté bien configurado. A continuación se detallan algunas sugerencias: Volver a cargar esta página web después. Error HTTP 500 (Internal Server Error): Se encontró una situación inesperada mientras el servidor intentaba cumplir con la solicitud.
当我调试控制器时,在"l"
变量中放入一个WATCH(检查),并且列表中的对象的类型很奇怪,而不是MaestroProvincia
类型,我得到system.data.entity.DynamicProxies.MaestroProvincia_D7543654378543
。
从没有FK的模型返回对象的所有其他API控制器没有任何问题。
我将不胜感激您的帮助。
我该怎么做?我认为带有db.MaestroProvincia.AsEnumerable的EF已经返回了一个POCO实体列表。 – user1800750
我已经更新了我的答案,告诉你如何做到这一点。 –
非常感谢,最后一个问题,我应该何时执行Mapper.createmap?就在Mapper.Map之前,或者我可以在代码的另一个地方做一次? – user1800750