gpt4 book ai didi

c# - IQueryable<> 序列化 - C#-VS2008-WCF

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:51 24 4
gpt4 key购买 nike

我用所需的表构建了我的 *.dbml 文件,并生成了一对多的关系。

我的 WCF 服务库中的一个方法有这个查询

 IQueryable<Client>localClient = from c in db.Clients
where c.ClientID.Equals(2612)
select c;

foreach(Client currentClient in localClient)
{
//Call serialize method here
}

客户有一对多关系的表之一是客户-员工

对于“localClient”,我想对其进行序列化并返回给调用者。但是它告诉我无法形成 XML 文档。

这是内部异常:序列化 TestDB_Public.Employee 类型的对象时检测到循环引用。

我的序列化代码

    public string Serialize(object o, XmlSerializerNamespaces ns)
{
try
{
System.IO.MemoryStream m = new System.IO.MemoryStream();

if (ns != null)
serializer.Serialize(m, o, ns);
else
serializer.Serialize(m, o);

m.Position = 0;
byte[] b = new byte[m.Length];
m.Read(b, 0, b.Length);

return System.Text.UTF8Encoding.UTF8.GetString(b);
}
catch (Exception ex)
{
return "Ex = " + ex.ToString();
}
}

IQueryable<> 与 1 对多关系的序列化是不可能的吗?

最佳答案

错误信息到底是什么?请注意,您必须序列化一些具体的东西,例如对象列表或数组(而不是查询)。

如果您希望通过网络进行查询,请查看执行此操作的 ADO.NET 数据服务。

此外 - 您是否在 dbml 设计器中将序列化模式设置为“单向”?只要没有循环,它应该可以正常工作。

关于c# - IQueryable<> 序列化 - C#-VS2008-WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com