我调用方法LeerAlerta()
,我想从简单查询中返回行列表。
这是在Linq中进行查询的方法:
internal List<alertas> LeerAlerta()
{
using (var db = new alertas2015())
{
var alertas = db.alertas.ToList();
return alertas;
}
}
这是操作合同:
[OperationContract]
List<alertas> LeerAlerta();
这是对象alertas:
public partial class alertas
{
public int id { get; set; }
public int modulos_id { get; set; }
public string proceso { get; set; }
public string metodo { get; set; }
public string descripcion { get; set; }
public int estado { get; set; }
public string receptor { get; set; }
public System.DateTime fecha { get; set; }
public System.DateTime fecha_aceptada { get; set; }
public virtual modulos modulos { get; set; }
}
当我打电话给LeerAlertas时,它会停止连接并且:
System.Runtime.Serialization.SerializationException是我追踪它所得到的。
消息:
No se espera el tipo'System.Data.Entity.DynamicProxies.alertas_7895CEE569AEBE6977614A1873DB1D304F0CEC3F6B5A87E3B3C324BA933840CA'con el nombre de contrato de datos'wiresas_7895CEE569AEBE6977614A1873DB1D304F0CEC3F6B5A87E3B3C324BA933840CA:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies'。 Intente usar DataContractResolver o agregar tipos noconocidosestáticamenteala lista de tipos conocidos(por ejemplo,usando el atributo KnownTypeAttributeoagregándolosala lista de tipos conocidos que se pasa a DataContractSerializer)。
我有0次序列化对象的经验,所以我不知道如何解决这个问题。
答案 0 :(得分:0)
答案是@CodeCaster告诉我的,接下来放入dbcontext:
Configuration.ProxyCreationEnabled = false;
答案 1 :(得分:0)
在为BLAZE Advisor规则创建WCF服务时遇到了同样的问题,但找不到相同的原因。然后我尝试将[Serializable()]属性应用于模型中的类,这是非常大的。
尝试一下,检查一下是否适用。我不确定这是否是确切的解决方案。但尝试一下就好比不尝试。
快乐的服务编码!!!
答案 2 :(得分:-1)
我认为您可以尝试使用类警报 [DataContract] 属性