Inquiridor
Dúvida com ILIST dentro de um service com DataContracts

Pergunta
-
Olá.
Estou desenvolvendo um webService em vb.net no VS2010 e estou tento o seguinte problema:
Value of type 'System.Collections.Generic.List(Of Produto.Entities.InfInscritos)' cannot be converted to 'Produto.Entities.InfInscritos'. C:\DEVNOVO\_Dependences\SebraeSAC.Integracoes\IntegracoesSAC.WS\Inscritos.svc.vbEu entendi o erro, que não posso fazer essa conversão, porém não consigo resolver a situação. Sugestões são bem vindas. Segue o código abaixo:
''Esse é o meu Web Services
Public Class Inscritos
Implements IInscritos
''' <summary>
''' Retorna Pessoa Fisica
''' </summary>
''' <param name="cpf">Documento</param>
''' <returns></returns>
''' <remarks>
''' Por: Rodrigo Nikitin
''' Em: 19/00/12
''' </remarks>
Public Function GetInscrito(ByVal DtInicial As DateTime, ByVal DtFinal As DateTime) As IntInscritosDC.InscritoDC Implements IInscritos.GetInscrito
Try
Dim model As IntInscritosDC.InscritoDC
Dim bll As New Produto.Bussiness.ProdutoBussiness
model = New IntInscritosDC.InscritoDC(bll.ConsultaInscritos(DtInicial, DtFinal))
Return model
Catch ex As ArgumentException
Throw New FaultException(Of ArgumentException)(ex, New FaultReason(ex.Message), New FaultCode("ArgumentException"))
Catch ex As Exception
Throw New FaultException(Of Exception)(ex, New FaultReason(ex.Message), New FaultCode("Exception"))
End Try
End Function
End Class
''Esse é o IInscritos.VB
Imports System.ServiceModel
Imports IntegracaoSAC.WS.IntInscritosDC
' NOTE: You can use the "Rename" command on the context menu to change the interface name "IInscritos" in both code and config file together.
<ServiceContract()> _
Public Interface IInscritos
<OperationContract()> _
Function GetInscrito(ByVal DtInicial As DateTime, ByVal DtFinal As DateTime) As IntInscritosDC.InscritoDC
End Interface
'' Esse é o Data Contracts
Imports Produto.Entities
Namespace IntInscritosDC
''' <summary>
''' Cliente para Envio de Ura
''' </summary>
''' <remarks></remarks>
<DataContract()>
Public Class InscritoDC
Public Sub New()
End Sub
Public Sub New(ByVal model As Produto.Entities.InfInscritos)
_IdPessoaFisica = model.IdPessoaFisica
_CPF = model.CPF
_NomePessoa = model.NomePessoa
_NomeEmpresa = model.NomeEmpresa
_Emaill = model.Emaill
End Sub
Private _IdPessoaFisica As Integer
<DataMember()> _
Public Property IdPessoaFisica() As Integer
Get
Return _IdPessoaFisica
End Get
Set(ByVal value As Integer)
_IdPessoaFisica = value
End Set
End Property
Private _CPF As Integer
''' <summary>
''' CPF
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
<DataMember()> _
Public Property CPF() As Integer
Get
Return _CPF
End Get
Set(ByVal value As Integer)
_CPF = value
End Set
End Property
Private _NomePessoa As String
''' <summary>
''' NomePessoa
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
<DataMember()> _
Public Property NomePessoa() As String
Get
Return _NomePessoa
End Get
Set(ByVal value As String)
_NomePessoa = value
End Set
End Property
Private _NomeEmpresa As String
''' <summary>
''' PessoaFisica
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
<DataMember()> _
Public Property NomeEmpresa() As String
Get
Return _NomeEmpresa
End Get
Set(ByVal value As String)
_NomeEmpresa = value
End Set
End Property
Private _Emaill As String
''' <summary>
''' Emaill
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
<DataMember()> _
Public Property Emaill() As String
Get
Return _Emaill
End Get
Set(ByVal value As String)
_Emaill = value
End Set
End Property
End Class
End Namespace
''A Camada Bussiness
Public Function ConsultaInscritos(ByVal DtInicio As DateTime, ByVal DtFim As DateTime) As List(Of Entities.InfInscritos)
Try
'Dim model As New Entities.InfInscritos
Dim dal As New DataAccess.ProdutoDAL
Return dal.SelecionarInscrito(DtInicio, DtFim)
Catch ex As Exception
End Try
End Function
''A Camada DAL
Public Function SelecionarInscrito(ByVal DtInicial As DateTime, ByVal DtFinal As DateTime) As List(Of Entities.InfInscritos)
Try
Dim model As New List(Of Entities.InfInscritos)
Dim db As Database = DatabaseFactory.CreateDatabase(Conexao)
Dim cmd As DbCommand = db.GetStoredProcCommand(PROC_PESQUISA_INSCRITOS)
db.AddInParameter(cmd, PARAM_DATAINICIAL, DbType.DateTime, DbDataParser.ToDBNull(DtInicial))
db.AddInParameter(cmd, PARAM_DATAFINAL, DbType.DateTime, DbDataParser.ToDBNull(DtFinal))
Using idr As IDataReader = db.ExecuteReader(cmd)
While idr.Read()
model.Add(Me.CriaModel(idr))
End While
End Using
Return model
'captura SQL Exception
Catch ex As Data.SqlClient.SqlException
'relança como Exception - Alterar em caso de mais detalhes
Throw New Exception(String.Format("Erro de Banco de Dados: Numero:{0} Mensagem:{1}", ex.Number, ex.Message), ex)
End Try
Return Nothing
End Function
''Camada Entities
Public Class InfInscritos
Private _IdPessoaFisica As Integer
Public Property IdPessoaFisica() As Integer
Get
Return _IdPessoaFisica
End Get
Set(ByVal value As Integer)
_IdPessoaFisica = value
End Set
End Property
Private _CPF As Integer
Public Property CPF() As Integer
Get
Return _CPF
End Get
Set(ByVal value As Integer)
_CPF = value
End Set
End Property
Private _NomeEmpresa As String
Public Property NomeEmpresa() As String
Get
Return _NomeEmpresa
End Get
Set(ByVal value As String)
_NomeEmpresa = value
End Set
End Property
Private _NomePessoa As String
Public Property NomePessoa() As String
Get
Return _NomePessoa
End Get
Set(ByVal value As String)
_NomePessoa = value
End Set
End Property
Private _Emaill As String
Public Property Emaill() As String
Get
Return _Emaill
End Get
Set(ByVal value As String)
_Emaill = value
End Set
End Property
End ClassDesde já agradeço a atenção.
Rodrigo Nikitin Marcondes