2010-03-15 108 views
0

Helo!RIA服務 - 無數據庫?

我需要編寫一個RIA服務來從Silverlight 3.0應用程序調用Java webservices。 我測試的東西是如何工作的,在我的Web應用程序我有有2個屬性(INT ID,字符串文本)一類邁德特:

namespace SilverlightApplication1.Web 
{ 
    public class MyData 
    { 
     [Key] 
     public int ID { get; set; } 

     public string Text { get; set; } 
    } 
} 

然後我寫了簡單的DomainService:

[EnableClientAccess()] 
public class MyService : DomainService 
    { 
     public IQueryable<MyData> GetMyData(string Url) 
     { 
        // here I will call my WebService 

      List<MyData> result = new List<MyData>(); 
      result.Add(new MyData { ID = 1, Text = Url }); 
      return result.AsQueryable(); 
     } 
    } 
} 

我怎樣才能將數據存入我的SL應用程序?現在我有這樣的:

命名空間SilverlightApplication1 { 公共部分類的MainPage:用戶控件 { 公衆的MainPage(){ 在InitializeComponent (); MyContext context = new MyContext(); }} }

我打電話和負載,但nothink worsk(例外情況,或空)...

我不得不調用註解,但是邁德特不TEntity,我不能使用字符串或其它簡單類型以及...:/ 我正在閱讀和閱讀帖子,沒有什麼作品像它應該..

任何幫助將非常感激。

謝謝!

回答

0

您的代碼在服務器上看起來不錯。您將需要將上下文移動到MainPage構造函數之外,並向您的加載操作添加回調。另外請確保使用System.ServiceModel.DomainServices.Client添加到頁面(用於LoadOperation)。

using System.Linq; 
using System.ServiceModel.DomainServices.Client; 
using System.Windows.Controls; 
using SilverlightApplication1.Web; 


namespace SilverlightApplication1 
{ 
    public partial class MainPage : UserControl 
    { 
     MyContext context = new MyContext(); 
     public MainPage() 
     { 
      InitializeComponent(); 

      context.Load(context.GetMyDataQuery("url"), loadCallback, null); 
     } 

     void loadCallback(LoadOperation op) 
     { 
      MyData d = context.MyDatas.First(); 
     } 
    } 
}