none
MS Knowledge Base: Bagaimana menggunakan ADO.NET Data Services pada Silverlight 3? (Part 2) RRS feed

  • Diskusi Umum

  •  

     

    3.     Tentukan query anda dan panggil BeginExecute () method untuk mengirim panggilan sync REST untuk ADO.NET Data Services. Selain itu, hook up event handler, yang akan muncul ketika respon dari ADO.NET Data Services diterima:

     
    private void LoadData()
            {
                _entities = new SQLServer2005DBEntities(new Uri(_schoolLinqToEntitiesUri));
                DataServiceQuery<CourseGrade> query = (DataServiceQuery<CourseGrade>)(
                    from c in _entities.CourseGrade.Expand("Person").Expand("Course")
                    select c);
     
                query.BeginExecute(OnCourseGradeQueryComplete, query);
            }
     
        private void OnCourseGradeQueryComplete(IAsyncResult result)
            {
                Dispatcher.BeginInvoke(() =>
                {
     
                    DataServiceQuery<CourseGrade> query =
                           result.AsyncState as DataServiceQuery<CourseGrade>;
                    try
                    {
                        var returnedCourseGrade =
                            query.EndExecute(result);
     
                        if (returnedCourseGrade != null)
                        {
                            _collection = (from c in returnedCourseGrade.ToList()
                                           select new ScoreCardForSchoolLinqToEntities()
                                           {
                                               // Due to the following QueryInterceptor at server side only Course ID>4000 can be returned:
                                               // [QueryInterceptor("Course")]
                                               // public Expression<Func<Course, bool>> QueryCourse()
                                               // {
                                               //     // LINQ lambda expression to filter the course objects
                                               //     return c => c.CourseID > 4000;
                                               // }
     
                                               CourseGrade = c,
                                               Course = c.Course == null ? "Only Course ID>4000 can be shown here" :
                                                   c.Course.Title,
                                               Grade = c.Grade,
                                               PersonName = string.Format("{0} {1}",
                                               c.Person.FirstName, c.Person.LastName)
                                           }).ToList();
     
                            this.mainDataGrid.ItemsSource = _collection;
                        }
                    }
                    catch (DataServiceQueryException ex)
                    {
                        this.messageTextBlock.Text = string.Format("Error: {0} - {1}",
                            ex.Response.StatusCode.ToString(), ex.Response.Error.Message);
                    }
                });
            }
     

    Catatan Dalam event handler, panggil EndExecute () method untuk mengakhiri query, mengambil dan menyimpan data ke dalam memori. Dalam kode di atas panggilan ke returnedCourseGrade.ToList() metode mengembalikan semua data yang dikembalikan oleh query.

     

    4.     Tambahkan kontrol Datagrid pada file XAML dari UserControl anda untuk menampilkan data:

    <data:DataGrid x:Name="mainDataGrid"></data:DataGrid>

     

    5.     Tambahkan TextBlock untuk menunjukkan pesan pengecualian:

    <TextBlock x:Name="messageTextBlock"></TextBlock>

     

    Untuk informasi lebih lanjut tentang pembatasan akses jaringan keamanan di Silverlight, kunjungi situs Microsoft Developer Network (MSDN) berikut ini:

    Network Security Access Restrictions in Silverlight (http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx)

     

    Catatan Untuk informasi lebih lanjut tentang cara membuat sampel aplikasi dan bagaimana cara menggunakan sampel aplikasi, lihat file readme.txt yang disertakan dalam paket download.

     

    Kategori Teknologi

    • Silverlight, ADO.NET Data Services

    Bahasa Pemograman

     

    Contoh kode ini memuat bahasa pemograman dibawah ini:

    Language

    Project Name

    Visual C#

    CSADONETDataServiceSL3Client

    Visual Basic .NET

    VBADONETDataServiceSL3Client

     

    Prasyarat

    Tags

    • ADO.NET Data Services, Silverlight

    Referensi

    http://support.microsoft.com/kb/982499/en-us


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Kamis, 05 Mei 2011 03.15
    Moderator