使用LINQ的ASP.NET中的Silverlight项目出错

时间:2012-10-10 08:39:29

标签: asp.net linq silverlight-4.0

我想在ASP.NET和LINQ中创建一个简单的Silverlight应用程序。我有两个talbe

  

学生:[student_id,student_name,address,phone,country_id]国家/地区   :[COUNTRY_ID,COUNTRY_NAME]

Thiw tow table由country_id加入。 我的项目中有一个LINQ数据类。 我已经包含了Silverlight-Enabled-WCF-Serfice。在这项服务中,我制作了拖曳方法,代码就像

[OperationContract]
        public List<Country> LoadCountry()
        {
            var result = from coun in oLINQDataClassesDataContext.Countries
                         select coun;
            return result.ToList();
        }

        [OperationContract]
        public IList<Student> LoadStudent()
        {

            var result = from std in oLINQDataClassesDataContext.Students
                         select std;        
            return result.ToList();
        }

然后我添加该WCF服务的服务引用。然后我在我的silverlight .xml文件中包含一个DataGrid。

现在我要显示该DataGrid中的所有学生。为此我写了以下代码

WCFServiceReference.WCFServiceClient oWCFServiceClient = new WCFServiceReference.WCFServiceClient();

    public Home()
    {
        InitializeComponent();
        oWCFServiceClient.LoadStudentCompleted += new EventHandler<WCFServiceReference.LoadStudentCompletedEventArgs>(oWCFServiceClient_LoadStudentCompleted);
        oWCFServiceClient.LoadStudentAsync();

    }

    void oWCFServiceClient_LoadStudentCompleted(object sender, WCFServiceReference.LoadStudentCompletedEventArgs e)
    {
        dataGrid1.ItemsSource = e.Result;
    }

然后我构建整个项目并发现没有错误。如果我运行该项目,那么我发现了一个错误,它是 -

  

操作期间发生异常,导致结果无效。   检查InnerException以获取异常详细信息。在   System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()   在   Silverlight.WCFServiceReference.LoadStudentCompletedEventArgs.get_Result()   在Silverlight.Home.oWCFServiceClient_LoadStudentCompleted(Object   sender,LoadStudentCompletedEventArgse)at   Silverlight.WCFServiceReference.WCFServiceClient.OnLoadStudentCompleted(对象   状态)

如果我从LINQ类中删除县表并从服务中删除LoadCountry()方法并从Silverlight表单调用LoadStudent()方法,那么它将准确运行并且所有数据都显示在我的DataGrid中。

如果我从LINQ类中删除student表并从服务中删除LoadStudent()方法,那么LoadCountry()方法就可以准确运行。如果LINQ&amp; amp;同时出现这两种方法都不起作用。 WCF服务。

注意:两个表都有数据。如果我运行SQL连接查询,则返回数据

我无法理解问题所在。

有没有人帮我解决这个问题?

提前致谢。 拉希德

1 个答案:

答案 0 :(得分:0)

转到dbml文件的属性并将序列化模式更改为单向