使用服务从Silverlight应用程序消费数据库表

问题描述

| 为什么这不起作用:
[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数据对象进行序列化。 您可以在此处找到更详细的讨论     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...