none
Linq to Entities - Referência de objeto não definida para uma instância de um objeto RRS feed

  • Pergunta

  • Estou recebendo o erro "Referência de objeto não definida para uma instância de um objeto" ao exibir os dados na tela.
    O erro ocorre quando vou exibir uma informação de uma tabela relacionada.
    Segue trecho do código onde tenho o erro:


          With SGIEntidades.tbContratos.ToList(PosicaoRegistro)
             'Contrato
             txtNumero.Text = .Numero
             txtInquilino.Text = .tbInquilinos.Nome  'Aqui não dá erro


             For Cont As Int32 = 0 To cboImovel.Items.Count - 1
                'AQUI DA ERRO
                If CType(cboImovel.Items(Cont), ItemData).Valor = .tbImoveis.Codigo Then
                   cboImovel.SelectedIndex = Cont
                End If
             Next
             dtiAssinatura.Text = .DataAssinatura
             txtDia.Text = .DiaVencimento
             dtiTermino.Text = .DataFim
       End With

    Um pouco acima faço a mesma coisa com outra tabela relacionada e tudo ocorre corretamente.

    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 10:48

Respostas

  • Muito provável que sim. Concorda que não faz sentido você abrir um outro form que não tem nada a ver e funcionar, e por coincidência ser o de Imóveis que é o que está dando erro?

    Provavelmente é um objeto da classe imóvel que está faltando.


    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    segunda-feira, 14 de dezembro de 2009 15:57
  • Inclui o codigo abaixo antes da linha do erro:

    Dim Imoveis = From i In SGIEntidades.tbImoveis
    With Imoveis.ToList(0)

    End With

    E agora tudo vai corretamente.

    O que me deixa maluco é que  não estou criando instancia para tbinquilinos e n da erro, mas para tbimoveis da erro...

    Elton de Lima Ribeiro
    segunda-feira, 14 de dezembro de 2009 16:14

Todas as Respostas

  • Olá Elton.

    O problema é que o Ctype faz conversão para objetos, e pelo que você postou vc nao criou uma instancia dessa classe item data. Tente Assim

    With SGIEntidades.tbContratos.ToList(PosicaoRegistro)
             'Contrato
             txtNumero.Text = .Numero
             txtInquilino.Text = .tbInquilinos.Nome  'Aqui não dá erro
    
            Dim oItemData As New ItemData
    
    
             For Cont As Int32 = 0 To cboImovel.Items.Count - 1
                'AQUI DA ERRO
                If CType(cboImovel.Items(Cont), oItemData).Valor = .tbImoveis.Codigo Then
                   cboImovel.SelectedIndex = Cont
                End If
             Next
             dtiAssinatura.Text = .DataAssinatura
             txtDia.Text = .DiaVencimento
             dtiTermino.Text = .DataFim
       End With
    


    Att. Alan
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 11:21
  • Alan, creio que o problema não seja esse, pois se apenas criar uma variavel string para receber .tbImoveis.Codigo ocorre o mesmo erro, por exemplo:




    With SGIEntidades.tbContratos.ToList(PosicaoRegistro)
             'Contrato
             txtNumero.Text = .Numero
             txtInquilino.Text = .tbInquilinos.Nome  'Aqui não dá erro
    
             Dim imovel as string
             'AQUI DA ERRO
              imovel  = .tbImoveis.Codigo


    cboImovel.SelectedIndex = Cont dtiAssinatura.Text = .DataAssinatura txtDia.Text = .DiaVencimento dtiTermino.Text = .DataFim End With


    O que não acontece na linha de cima em: txtInquilino.Text = .tbInquilinos.Nome.

    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 12:22
  • Olá Elton. entendi o problema. Na associação das suas classes é bem provável que não está sendo instanciado um objeto da outra classe, o que geraria um erro do tipo descrito anteriormente. Segue um exemplo de Código:

    <Association(Name:="Customer_Order", Storage:="_Customer", ThisKey:="CustomerID", IsForeignKey:=true)>  _
    	Public Property Customer() As Customer
    		Get
    			Return Me._Customer.Entity
    		End Get
            Set(ByVal value As Customer)
                'Aqui a instancia da outra classe
                Dim previousValue As Customer = Me._Customer.Entity
                If ((Object.Equals(previousValue, Value) = False) _
                   OrElse (Me._Customer.HasLoadedOrAssignedValue = False)) Then
                    Me.SendPropertyChanging()
                    If ((previousValue Is Nothing) _
                       = False) Then
                        Me._Customer.Entity = Nothing
                        previousValue.Orders.Remove(Me)
                    End If
                    Me._Customer.Entity = Value
                    If ((Value Is Nothing) _
                       = False) Then
                        Value.Orders.Add(Me)
                        Me._CustomerID = Value.CustomerID
                    Else
                        Me._CustomerID = CType(Nothing, String)
                    End If
                    Me.SendPropertyChanged("Customer")
                End If
            End Set
    	End Property
    Quando damos o Dim criamos um objeto da classe que está associada, assim não acontece esse tipo de erro.

    Espero ter te ajudado.

    Att. Alan
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 12:36
  • Certo, entendi. Mas o mesmo caso acontece no mais acima no código, mas não da erro. Pq?
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 12:58
  • Nesse outro trecho que você está dizendo é a mesma associação? São as mesmas entidades?


    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 12:59
  • Nao, sao entidades diferentes.
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 13:07
  • Então é isso.

    Está faltando a instancia no trecho dessa associação: Contatos -  Imóveis.

    E está solucionado nessa outra associação que você não mencionou.

    poderia te apontar o erro mas você teria que postar o código gerado pelo entity framework onde ele mapeia as tabelas em classes.

    Att. Alan.
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 13:13
  • Seria no Model.Desiner.vb?
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 13:17
  • Exato.


    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 13:18
  • Certo, eh muito codigo...n da p enviar...




    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 13:30
  • Então eu vou te explicar o que acontece e você tenta procurar ai.

    Quando estamos trabalhando orientado a objetos não existe relacionamento e sim associação. Por isso que em um diagrama de classes não vai chave estrangeira. Chave estrangeira é uma forma de você fazer uma referencia a outra classe.

    Veja esse exemplo:

    <Association(Name:="Customer_Order", Storage:="_Customer", ThisKey:="CustomerID", IsForeignKey:=true)>  _
    	Public Property Customer() As Customer
    		Get
    			Return Me._Customer.Entity
    		End Get
            Set(ByVal value As Customer)
                'Aqui a instancia da outra classe
                Dim previousValue As Customer = Me._Customer.Entity
                If ((Object.Equals(previousValue, Value) = False) _
                   OrElse (Me._Customer.HasLoadedOrAssignedValue = False)) Then
                    Me.SendPropertyChanging()
                    If ((previousValue Is Nothing) _
                       = False) Then
                        Me._Customer.Entity = Nothing
                        previousValue.Orders.Remove(Me)
                    End If
                    Me._Customer.Entity = Value
                    If ((Value Is Nothing) _
                       = False) Then
                        Value.Orders.Add(Me)
                        Me._CustomerID = Value.CustomerID
                    Else
                        Me._CustomerID = CType(Nothing, String)
                    End If
                    Me.SendPropertyChanged("Customer")
                End If
            End Set
    	End Property
    Neste exemplo foi feito um mapeamento da tabela order (Pedido) e um pedido tem um cliente (Customer), então está sendo feito o mapeamento de uma propriedade do tipo Customer, que vai representar o CustomerID no Banco de dados.

    Como Customer é uma outra classe(Entidade) é preciso criar uma instancia para que se consiga atribuir valores para aquela classe. Isso é feito na seguinte linha:

    Dim previousValue As Customer = Me._Customer.Entity

    Neste instante todas as propriedades da classe customer estão disponíveis para os objetos do tipo order.

    Nesta linha que você postou:

    imovel  = .tbImoveis.Codigo

    Dentro do Bloco With:

    With SGIEntidades.tbContratos.ToList(PosicaoRegistro)

    vc está querendo recuperar o Código da classe imóveis através da clase Contatos, mas gerou um erro do tipo "Referência de objeto não definida para uma instância de um objeto".
    Não estou vendo o seu código, mas é muito provavel que esteja faltando uma referencia ao objeto Imóveis na sua classe
    contatos.

    Espero ter te ajudado.

    Att. Alan

    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 13:42
  • Cara ta dificil de achar...
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 13:48
  • Dá um ctrl + F e procure pelo campo da sua chave estrangeira na tabela contatos
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 13:53
  • N to encontrando
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 15:50
  • Vc tem certeza que está mapeada sua associação?

    ve no design.
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 16:06
  • No design n vejo o campo CodImovel da tabela Contratos, apenas vejo no Navigation Properties tbImoveis, entao creio que a associacao esteja criada.
    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 16:13
  • Ta dificil te ajudar no escuro cara.

    No arquivo Model.Desiner.vb pega somente a classe Contratos. O código será bem menor.

    Sem visualizar não estou conseguindo te ajudar.

    Att. Alan
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    quinta-feira, 10 de dezembro de 2009 16:53
  • Creio que esta seja toda a classe contratos:

    <Global.System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName:="SGIModel", Name:="tbContratos"),  _
     Global.System.Runtime.Serialization.DataContractAttribute(IsReference:=true),  _
     Global.System.Serializable()>  _
    Partial Public Class tbContratos
        Inherits Global.System.Data.Objects.DataClasses.EntityObject
        '''<summary>
        '''Create a new tbContratos object.
        '''</summary>
        '''<param name="codigo">Initial value of Codigo.</param>
        '''<param name="dataCadastro">Initial value of DataCadastro.</param>
        '''<param name="dataAssinatura">Initial value of DataAssinatura.</param>
        '''<param name="diaVencimento">Initial value of DiaVencimento.</param>
        '''<param name="dataFim">Initial value of DataFim.</param>
        '''<param name="valorAluguel">Initial value of ValorAluguel.</param>
        Public Shared Function CreatetbContratos(ByVal codigo As Integer, ByVal dataCadastro As Date, ByVal dataAssinatura As Date, ByVal diaVencimento As Integer, ByVal dataFim As Date, ByVal valorAluguel As Decimal) As tbContratos
            Dim tbContratos As tbContratos = New tbContratos
            tbContratos.Codigo = codigo
            tbContratos.DataCadastro = dataCadastro
            tbContratos.DataAssinatura = dataAssinatura
            tbContratos.DiaVencimento = diaVencimento
            tbContratos.DataFim = dataFim
            tbContratos.ValorAluguel = valorAluguel
            Return tbContratos
        End Function
        '''<summary>
        '''There are no comments for Property Codigo in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty:=true, IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property Codigo() As Integer
            Get
                Return Me._Codigo
            End Get
            Set
                Me.OnCodigoChanging(value)
                Me.ReportPropertyChanging("Codigo")
                Me._Codigo = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("Codigo")
                Me.OnCodigoChanged
            End Set
        End Property
        Private _Codigo As Integer
        Partial Private Sub OnCodigoChanging(ByVal value As Integer)
            End Sub
        Partial Private Sub OnCodigoChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property DataCadastro in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property DataCadastro() As Date
            Get
                Return Me._DataCadastro
            End Get
            Set
                Me.OnDataCadastroChanging(value)
                Me.ReportPropertyChanging("DataCadastro")
                Me._DataCadastro = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("DataCadastro")
                Me.OnDataCadastroChanged
            End Set
        End Property
        Private _DataCadastro As Date
        Partial Private Sub OnDataCadastroChanging(ByVal value As Date)
            End Sub
        Partial Private Sub OnDataCadastroChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property Numero in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property Numero() As String
            Get
                Return Me._Numero
            End Get
            Set
                Me.OnNumeroChanging(value)
                Me.ReportPropertyChanging("Numero")
                Me._Numero = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("Numero")
                Me.OnNumeroChanged
            End Set
        End Property
        Private _Numero As String
        Partial Private Sub OnNumeroChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnNumeroChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property DataAssinatura in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property DataAssinatura() As Date
            Get
                Return Me._DataAssinatura
            End Get
            Set
                Me.OnDataAssinaturaChanging(value)
                Me.ReportPropertyChanging("DataAssinatura")
                Me._DataAssinatura = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("DataAssinatura")
                Me.OnDataAssinaturaChanged
            End Set
        End Property
        Private _DataAssinatura As Date
        Partial Private Sub OnDataAssinaturaChanging(ByVal value As Date)
            End Sub
        Partial Private Sub OnDataAssinaturaChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property DiaVencimento in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property DiaVencimento() As Integer
            Get
                Return Me._DiaVencimento
            End Get
            Set
                Me.OnDiaVencimentoChanging(value)
                Me.ReportPropertyChanging("DiaVencimento")
                Me._DiaVencimento = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("DiaVencimento")
                Me.OnDiaVencimentoChanged
            End Set
        End Property
        Private _DiaVencimento As Integer
        Partial Private Sub OnDiaVencimentoChanging(ByVal value As Integer)
            End Sub
        Partial Private Sub OnDiaVencimentoChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property DataFim in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property DataFim() As Date
            Get
                Return Me._DataFim
            End Get
            Set
                Me.OnDataFimChanging(value)
                Me.ReportPropertyChanging("DataFim")
                Me._DataFim = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("DataFim")
                Me.OnDataFimChanged
            End Set
        End Property
        Private _DataFim As Date
        Partial Private Sub OnDataFimChanging(ByVal value As Date)
            End Sub
        Partial Private Sub OnDataFimChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property ValorAluguel in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable:=false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property ValorAluguel() As Decimal
            Get
                Return Me._ValorAluguel
            End Get
            Set
                Me.OnValorAluguelChanging(value)
                Me.ReportPropertyChanging("ValorAluguel")
                Me._ValorAluguel = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("ValorAluguel")
                Me.OnValorAluguelChanged
            End Set
        End Property
        Private _ValorAluguel As Decimal
        Partial Private Sub OnValorAluguelChanging(ByVal value As Decimal)
            End Sub
        Partial Private Sub OnValorAluguelChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property PremioPontualidade in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property PremioPontualidade() As Global.System.Nullable(Of Decimal)
            Get
                Return Me._PremioPontualidade
            End Get
            Set
                Me.OnPremioPontualidadeChanging(value)
                Me.ReportPropertyChanging("PremioPontualidade")
                Me._PremioPontualidade = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("PremioPontualidade")
                Me.OnPremioPontualidadeChanged
            End Set
        End Property
        Private _PremioPontualidade As Global.System.Nullable(Of Decimal)
        Partial Private Sub OnPremioPontualidadeChanging(ByVal value As Global.System.Nullable(Of Decimal))
            End Sub
        Partial Private Sub OnPremioPontualidadeChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property ValorMulta in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property ValorMulta() As Global.System.Nullable(Of Decimal)
            Get
                Return Me._ValorMulta
            End Get
            Set
                Me.OnValorMultaChanging(value)
                Me.ReportPropertyChanging("ValorMulta")
                Me._ValorMulta = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("ValorMulta")
                Me.OnValorMultaChanged
            End Set
        End Property
        Private _ValorMulta As Global.System.Nullable(Of Decimal)
        Partial Private Sub OnValorMultaChanging(ByVal value As Global.System.Nullable(Of Decimal))
            End Sub
        Partial Private Sub OnValorMultaChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property Juro in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property Juro() As Global.System.Nullable(Of Decimal)
            Get
                Return Me._Juro
            End Get
            Set
                Me.OnJuroChanging(value)
                Me.ReportPropertyChanging("Juro")
                Me._Juro = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value)
                Me.ReportPropertyChanged("Juro")
                Me.OnJuroChanged
            End Set
        End Property
        Private _Juro As Global.System.Nullable(Of Decimal)
        Partial Private Sub OnJuroChanging(ByVal value As Global.System.Nullable(Of Decimal))
            End Sub
        Partial Private Sub OnJuroChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property ObservacaoContrato in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property ObservacaoContrato() As String
            Get
                Return Me._ObservacaoContrato
            End Get
            Set
                Me.OnObservacaoContratoChanging(value)
                Me.ReportPropertyChanging("ObservacaoContrato")
                Me._ObservacaoContrato = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("ObservacaoContrato")
                Me.OnObservacaoContratoChanged
            End Set
        End Property
        Private _ObservacaoContrato As String
        Partial Private Sub OnObservacaoContratoChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnObservacaoContratoChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property NomeFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property NomeFiador() As String
            Get
                Return Me._NomeFiador
            End Get
            Set
                Me.OnNomeFiadorChanging(value)
                Me.ReportPropertyChanging("NomeFiador")
                Me._NomeFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("NomeFiador")
                Me.OnNomeFiadorChanged
            End Set
        End Property
        Private _NomeFiador As String
        Partial Private Sub OnNomeFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnNomeFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property EnderecoFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property EnderecoFiador() As String
            Get
                Return Me._EnderecoFiador
            End Get
            Set
                Me.OnEnderecoFiadorChanging(value)
                Me.ReportPropertyChanging("EnderecoFiador")
                Me._EnderecoFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("EnderecoFiador")
                Me.OnEnderecoFiadorChanged
            End Set
        End Property
        Private _EnderecoFiador As String
        Partial Private Sub OnEnderecoFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnEnderecoFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property NumeroFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property NumeroFiador() As String
            Get
                Return Me._NumeroFiador
            End Get
            Set
                Me.OnNumeroFiadorChanging(value)
                Me.ReportPropertyChanging("NumeroFiador")
                Me._NumeroFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("NumeroFiador")
                Me.OnNumeroFiadorChanged
            End Set
        End Property
        Private _NumeroFiador As String
        Partial Private Sub OnNumeroFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnNumeroFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property BairroFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property BairroFiador() As String
            Get
                Return Me._BairroFiador
            End Get
            Set
                Me.OnBairroFiadorChanging(value)
                Me.ReportPropertyChanging("BairroFiador")
                Me._BairroFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("BairroFiador")
                Me.OnBairroFiadorChanged
            End Set
        End Property
        Private _BairroFiador As String
        Partial Private Sub OnBairroFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnBairroFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property CidadeFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property CidadeFiador() As String
            Get
                Return Me._CidadeFiador
            End Get
            Set
                Me.OnCidadeFiadorChanging(value)
                Me.ReportPropertyChanging("CidadeFiador")
                Me._CidadeFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("CidadeFiador")
                Me.OnCidadeFiadorChanged
            End Set
        End Property
        Private _CidadeFiador As String
        Partial Private Sub OnCidadeFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnCidadeFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property UFFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property UFFiador() As String
            Get
                Return Me._UFFiador
            End Get
            Set
                Me.OnUFFiadorChanging(value)
                Me.ReportPropertyChanging("UFFiador")
                Me._UFFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("UFFiador")
                Me.OnUFFiadorChanged
            End Set
        End Property
        Private _UFFiador As String
        Partial Private Sub OnUFFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnUFFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property ObservacaoFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property ObservacaoFiador() As String
            Get
                Return Me._ObservacaoFiador
            End Get
            Set
                Me.OnObservacaoFiadorChanging(value)
                Me.ReportPropertyChanging("ObservacaoFiador")
                Me._ObservacaoFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("ObservacaoFiador")
                Me.OnObservacaoFiadorChanged
            End Set
        End Property
        Private _ObservacaoFiador As String
        Partial Private Sub OnObservacaoFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnObservacaoFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property CPFFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property CPFFiador() As String
            Get
                Return Me._CPFFiador
            End Get
            Set
                Me.OnCPFFiadorChanging(value)
                Me.ReportPropertyChanging("CPFFiador")
                Me._CPFFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("CPFFiador")
                Me.OnCPFFiadorChanged
            End Set
        End Property
        Private _CPFFiador As String
        Partial Private Sub OnCPFFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnCPFFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property RGFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property RGFiador() As String
            Get
                Return Me._RGFiador
            End Get
            Set
                Me.OnRGFiadorChanging(value)
                Me.ReportPropertyChanging("RGFiador")
                Me._RGFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("RGFiador")
                Me.OnRGFiadorChanged
            End Set
        End Property
        Private _RGFiador As String
        Partial Private Sub OnRGFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnRGFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property FoneFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property FoneFiador() As String
            Get
                Return Me._FoneFiador
            End Get
            Set
                Me.OnFoneFiadorChanging(value)
                Me.ReportPropertyChanging("FoneFiador")
                Me._FoneFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("FoneFiador")
                Me.OnFoneFiadorChanged
            End Set
        End Property
        Private _FoneFiador As String
        Partial Private Sub OnFoneFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnFoneFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for Property CelularFiador in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property CelularFiador() As String
            Get
                Return Me._CelularFiador
            End Get
            Set
                Me.OnCelularFiadorChanging(value)
                Me.ReportPropertyChanging("CelularFiador")
                Me._CelularFiador = Global.System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true)
                Me.ReportPropertyChanged("CelularFiador")
                Me.OnCelularFiadorChanged
            End Set
        End Property
        Private _CelularFiador As String
        Partial Private Sub OnCelularFiadorChanging(ByVal value As String)
            End Sub
        Partial Private Sub OnCelularFiadorChanged()
            End Sub
        '''<summary>
        '''There are no comments for tbAlugueis in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("SGIModel", "FK_tbAlugueis_tbContratos", "tbAlugueis"),  _
         Global.System.Xml.Serialization.XmlIgnoreAttribute(),  _
         Global.System.Xml.Serialization.SoapIgnoreAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbAlugueis() As Global.System.Data.Objects.DataClasses.EntityCollection(Of tbAlugueis)
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedCollection(Of tbAlugueis)("SGIModel.FK_tbAlugueis_tbContratos", "tbAlugueis")
            End Get
            Set
                If (Not (value) Is Nothing) Then
                    CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.InitializeRelatedCollection(Of tbAlugueis)("SGIModel.FK_tbAlugueis_tbContratos", "tbAlugueis", value)
                End If
            End Set
        End Property
        '''<summary>
        '''There are no comments for tbImoveis in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("SGIModel", "FK_tbContratos_tbImoveis", "tbImoveis"),  _
         Global.System.Xml.Serialization.XmlIgnoreAttribute(),  _
         Global.System.Xml.Serialization.SoapIgnoreAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbImoveis() As tbImoveis
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis").Value
            End Get
            Set
                CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis").Value = value
            End Set
        End Property
        '''<summary>
        '''There are no comments for tbImoveis in the schema.
        '''</summary>
        <Global.System.ComponentModel.BrowsableAttribute(false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbImoveisReference() As Global.System.Data.Objects.DataClasses.EntityReference(Of tbImoveis)
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis")
            End Get
            Set
                If (Not (value) Is Nothing) Then
                    CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.InitializeRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis", value)
                End If
            End Set
        End Property
        '''<summary>
        '''There are no comments for tbInquilinos in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("SGIModel", "FK_tbContratos_tbInquilinos", "tbInquilinos"),  _
         Global.System.Xml.Serialization.XmlIgnoreAttribute(),  _
         Global.System.Xml.Serialization.SoapIgnoreAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbInquilinos() As tbInquilinos
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos").Value
            End Get
            Set
                CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos").Value = value
            End Set
        End Property
        '''<summary>
        '''There are no comments for tbInquilinos in the schema.
        '''</summary>
        <Global.System.ComponentModel.BrowsableAttribute(false),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbInquilinosReference() As Global.System.Data.Objects.DataClasses.EntityReference(Of tbInquilinos)
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos")
            End Get
            Set
                If (Not (value) Is Nothing) Then
                    CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.InitializeRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos", value)
                End If
            End Set
        End Property
        '''<summary>
        '''There are no comments for tbDespesas in the schema.
        '''</summary>
        <Global.System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("SGIModel", "FK_tbDespesas_tbContratos", "tbDespesas"),  _
         Global.System.Xml.Serialization.XmlIgnoreAttribute(),  _
         Global.System.Xml.Serialization.SoapIgnoreAttribute(),  _
         Global.System.Runtime.Serialization.DataMemberAttribute()>  _
        Public Property tbDespesas() As Global.System.Data.Objects.DataClasses.EntityCollection(Of tbDespesas)
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedCollection(Of tbDespesas)("SGIModel.FK_tbDespesas_tbContratos", "tbDespesas")
            End Get
            Set
                If (Not (value) Is Nothing) Then
                    CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.InitializeRelatedCollection(Of tbDespesas)("SGIModel.FK_tbDespesas_tbContratos", "tbDespesas", value)
                End If
            End Set
        End Property
    End Class

    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 16:56
  • Olha o que encontrei:

        Public Property tbInquilinos() As tbInquilinos
            Get
                Return CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos").Value
            End Get
            Set
                CType(Me,Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbInquilinos)("SGIModel.FK_tbContratos_tbInquilinos", "tbInquilinos").Value = value
            End Set
       End Property

        Public Property tbImoveis() As tbImoveis
          Get
             Return CType(Me, Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis").Value
          End Get
          Set(ByVal value As tbImoveis)
             CType(Me, Global.System.Data.Objects.DataClasses.IEntityWithRelationships).RelationshipManager.GetRelatedReference(Of tbImoveis)("SGIModel.FK_tbContratos_tbImoveis", "tbImoveis").Value = value
          End Set
       End Property


    A linha do Set em tbImobeis ta assim: Set(ByVal value As tbImoveis)
    Em tbInquilinos tem apenas Set.

    So que ao retirar tudo apos Set, o conteudo volta automaticamente...

    Elton de Lima Ribeiro
    quinta-feira, 10 de dezembro de 2009 18:32
  • Alguem pode me ajudar?
    Elton de Lima Ribeiro
    sexta-feira, 11 de dezembro de 2009 17:46
  • Olá.

    Verifiquei o seguinte: esse erro ocorre quando abro a tela de contratos. Mas se abrir a tela de cadastro de imóveis primeiro e depois abrir a tela de contrato esse erro não ocorre.

    Por que?

    Elton de Lima Ribeiro
    segunda-feira, 14 de dezembro de 2009 10:59
  • Por acaso você está criando uma instância da Entidade Inquilino nesse formulário e não está fazendo o mesmo para contrato?

    Como já havia dito, esse erro "Referêcia de objeto não definida para uma insTãncia de um objeto" é falta de instância.
    É muito provável que ao instanciar o form de cadastro de imóveis, você está resolvendo o seu problema.

    Passe isso para o seu form de contratos.

    Att. Alan.
    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    segunda-feira, 14 de dezembro de 2009 15:30
  • "Por acaso você está criando uma instância da Entidade Inquilino nesse formulário e não está fazendo o mesmo para contrato?"

    Não. É por isso que estou confuso. Sei que de acordo com o erro falta criar uma instância. Mas por criar uma e outra não, já que é o mesmo caso?

    Elton de Lima Ribeiro
    segunda-feira, 14 de dezembro de 2009 15:53
  • Muito provável que sim. Concorda que não faz sentido você abrir um outro form que não tem nada a ver e funcionar, e por coincidência ser o de Imóveis que é o que está dando erro?

    Provavelmente é um objeto da classe imóvel que está faltando.


    Se esta resposta solucionou sua dúvida, “Marque como Resposta”
    segunda-feira, 14 de dezembro de 2009 15:57
  • Inclui o codigo abaixo antes da linha do erro:

    Dim Imoveis = From i In SGIEntidades.tbImoveis
    With Imoveis.ToList(0)

    End With

    E agora tudo vai corretamente.

    O que me deixa maluco é que  não estou criando instancia para tbinquilinos e n da erro, mas para tbimoveis da erro...

    Elton de Lima Ribeiro
    segunda-feira, 14 de dezembro de 2009 16:14