Usuário com melhor resposta
ws entity framework.

Pergunta
-
Olá galera.
Vou ser bem direto.
Estou desenvolvendo algumas rotinas no meu ws utilizando entity framework, estou fazendo um select simples com linq trazendo as informações da tabela A e C onde tenho uma tabela link B.
Tudo ocorre bem esta trazendo as informações desejadas (A e B) porém na hora de imprimir a xml de retorno só vem as informações da tabela A, como posso resolver isso?
Preciso das informações de ambas as tabelas na mesma xml de retorno.
Obrigado.
Respostas
-
DicaImagens não esta com algum atributo do tipo NonSerializable?
- Marcado como Resposta Romy Moura segunda-feira, 26 de novembro de 2012 18:38
-
DicaImagens não esta com algum atributo do tipo NonSerializable?
Esta desta forma
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("v2elseveModel", "fk_DicaImagem_Dica", "DicaImagem")]
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityCollection<DicaImagem> DicaImagems
{
get
{
return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem");
}
set
{
if ((value != null))
{
((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem", value);
}
}
}[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="DicaImagem")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class DicaImagem : global::System.Data.Objects.DataClasses.EntityObject
{}//tabela link
[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="TipoConteudo")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class TipoConteudo : global::System.Data.Objects.DataClasses.EntityObject
{}O estranho é que traz as informações porém não aparece no retorno xml do ws.
Coloquei desta forma e rolou ! \0/
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("v2elseveModel", "fk_DicaImagem_Dica", "DicaImagem")]
[global::System.Runtime.Serialization.DataMemberAttribute()]
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
//[global::System.Xml.Serialization.XmlIgnoreAttribute()]
//[global::System.Xml.Serialization.SoapIgnoreAttribute()]
//[global::System.Runtime.Serialization.DataMemberAttribute()]- Marcado como Resposta Romy Moura segunda-feira, 26 de novembro de 2012 18:38
Todas as Respostas
-
-
-
DicaImagens não esta com algum atributo do tipo NonSerializable?
- Marcado como Resposta Romy Moura segunda-feira, 26 de novembro de 2012 18:38
-
DicaImagens não esta com algum atributo do tipo NonSerializable?
Esta desta forma
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("v2elseveModel", "fk_DicaImagem_Dica", "DicaImagem")]
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityCollection<DicaImagem> DicaImagems
{
get
{
return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem");
}
set
{
if ((value != null))
{
((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem", value);
}
}
}[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="DicaImagem")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class DicaImagem : global::System.Data.Objects.DataClasses.EntityObject
{}//tabela link
[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="TipoConteudo")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class TipoConteudo : global::System.Data.Objects.DataClasses.EntityObject
{}O estranho é que traz as informações porém não aparece no retorno xml do ws.
-
Pode postar seu código?
[WebMethod]
public List<Dica> ListaDicas()
{using (db banco = new db())
{
var listaD = (from dicas in banco.Dicas.Include("DicaImagems")
select dicas).ToList();
return listaD;
}}
-
-
Pode postar seu código?
[WebMethod]
public List<Dica> ListaDicas()
{using (db banco = new db())
{
var listaD = (from dicas in banco.Dicas.Include("DicaImagems")
select dicas).ToList();
return listaD;
}}
O problema é que o EF vem por padrão com Lazy Load. Para pegar os dados da tabela B vc precisa indica-los na query, ou desabilitar o Lazy Load
-
DicaImagens não esta com algum atributo do tipo NonSerializable?
Esta desta forma
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("v2elseveModel", "fk_DicaImagem_Dica", "DicaImagem")]
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityCollection<DicaImagem> DicaImagems
{
get
{
return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem");
}
set
{
if ((value != null))
{
((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<DicaImagem>("v2elseveModel.fk_DicaImagem_Dica", "DicaImagem", value);
}
}
}[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="DicaImagem")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class DicaImagem : global::System.Data.Objects.DataClasses.EntityObject
{}//tabela link
[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="v2elseveModel", Name="TipoConteudo")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class TipoConteudo : global::System.Data.Objects.DataClasses.EntityObject
{}O estranho é que traz as informações porém não aparece no retorno xml do ws.
Coloquei desta forma e rolou ! \0/
[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("v2elseveModel", "fk_DicaImagem_Dica", "DicaImagem")]
[global::System.Runtime.Serialization.DataMemberAttribute()]
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
//[global::System.Xml.Serialization.XmlIgnoreAttribute()]
//[global::System.Xml.Serialization.SoapIgnoreAttribute()]
//[global::System.Runtime.Serialization.DataMemberAttribute()]- Marcado como Resposta Romy Moura segunda-feira, 26 de novembro de 2012 18:38