问题描述
|
为什么这不起作用:
[OperationContract]
public List<Category> DoWork()
{
using(var db= new PDataContext())
{
return db.Categories.Select(x => x).ToList();
}
}
我收到CommunicationException错误:未找到。
但这确实是:
[OperationContract]
public List<myCategory> DoWork()
{
using(var db= new PDataContext())
{
return db.Categories.Select(x => new myCategory
{
CategoryID = x.CategoryID,Name = x.Name,Visible = x.Visible,ParentID = x.ParentID
}).ToList();
}
}
public class myCategory
{
public int CategoryID { get; set; }
public string Name { get; set; }
public bool Visible { get; set; }
public int ParentID { get; set; }
}
我无法理解LINQ2sql类别类与我在上面的示例中编写的代码有何不同。
解决方法
我唯一能想到的是,您使用Linq2SQL类在服务中引起了与序列化有关的异常。您能否进一步解释一下您所拥有的关系类型?
我认为这是类似的问题,请参见此博客。
, 这是行不通的,因为无法通过线路对Category数据对象进行序列化。
您可以在此处找到更详细的讨论