내 코드에 문제가 있습니다. 일부 기본 키 (외부 키가없는 3 개 필드)에서 작동하는 웹 컨트롤러가 있지만 모델에서 개체 목록을 반환하는 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 (inspect)를 넣고 목록의 객체 유형을 MaestroProvincia
유형 대신 system.data.entity.DynamicProxies.MaestroProvincia_D7543654378543
이 아닌 매우 이상합니다.
FK가없는 모델에서 개체를 반환하는 다른 모든 API 컨트롤러는 문제가 없습니다.
귀하의 도움에 감사드립니다.
어떻게하면됩니까? db.MaestroProvincia.AsEnumerable을 가진 EF는 이미 POCO 엔티티의 목록을 반환한다고 생각합니다. – user1800750
어떻게 대답 할 수 있는지 내 대답을 업데이트했습니다. –
대단히 고맙습니다. 마지막 질문입니다. 언제 Mapper.createmap을 실행해야합니까? 매퍼 직전에. 맵에서 또는 코드의 다른 위치에서 한 번만 할 수 있습니까? – user1800750