我發現下面的優秀一步一步的指導,在這個網站 -
http://betaforums.silverlight.net/forums/p/218383/521023.aspx
1)添加一個ADO實體數據模型到你的Web項目;選擇從數據庫選項生成;選擇要連接的數據庫實例。
2)選擇您的數據庫對象導入到模型。您可以展開「表格」節點以選擇要導入到模型的任何表格。展開存儲過程節點以選擇您的存儲過程。單擊完成以完成導入。
3)右鍵單擊數據庫模型設計器以選擇添加/功能導入。給函數一個名字(與SP相同的名字就可以),然後選擇你想要映射的存儲過程。如果您的SP只返回一個字段,則可以將返回結果映射到一組標量。如果SP返回多個字段,則可以將返回結果映射到集合或實體(如果所有字段來自單個表)或複雜類型的集合。
如果您想使用複雜類型,您可以單擊獲取列按鈕來獲取您的SP的所有列。然後點擊創建新的複雜類型按鈕來創建這個複雜類型。
4)將域服務類添加到Web項目。選擇您剛創建的DataModel作爲此服務的DataContext。選擇你想要暴露給客戶的所有entitis。應爲這些實體生成服務功能。
5)您可能看不到實體列表中的複雜類型。您必須在您的服務中爲您的SP手工添加查詢功能: 假設您的SP稱爲SP1,則您生成的複雜類型稱爲SP1_Result。
添加以下代碼在你的域服務類:
public IQueryable<SP1_Result> SP1()
{
return this.ObjectContext.SP1().AsQueryable();
}
現在你可以編譯您的項目。你可能會得到這樣的錯誤:「SP1_Result沒有密鑰」(如果你不在RIA服務SP1測試版)。如果你這樣做,你需要做以下的服務元數據文件:
增加了SP1_Result元數據類和標籤的關鍵領域:
[MetadataTypeAttribute(typeof(SP1_Result.SP1_ResultMetadata))]
public partial class SP1_Result
{
internal sealed class SP1_ResultMetadata
{
[Key]
public int MyId; // Change MyId to the ID field of your SP_Result
}
}
6)編譯您的解決方案。現在,您已將SP1_Result暴露給客戶端。檢查生成的文件,你應該看到SP1_Result是作爲實體類生成的。現在,您可以訪問Silverlight代碼中的DomainContext.SP1Query和DomainContext.SP1_Results。你可以像對待任何其他實體(映射到表的實體)類一樣對待它。