◎
新建項目,注意選中「
Enable WCF RIA Service
」。
◎
開啓數據庫服務,sqlserver2005(Express版),爲了便於管理,你還須要去下一個manage管理器,安裝好manage管理器後, 開啓sql2005鏈接功能,開啓辦法以下, 配置工具->sql server外圍應用配置器->服務和鏈接的外圍應用配置器,點擊啓動,如圖
◎
數據庫啓動後,添加數據庫新項。如圖
◎
數據庫添加後,項目中出現數據庫文件時代表創建成功
◎
右
健打開數據庫,並
選中Tables->右鍵->新建表(Add New Table)。
◎ 定義三個字段姓名Name、地址Address、電話Phone,定義Name爲主健,並保存爲表名Friend。
◎
如今咱們須要一個數據訪問層,
RIA
的服務支持和
LINQ
到
SQL
的框架。增長一個新項目「
ADO.NET Entity Data Model.
」到
Web
項目中。名稱爲
FriendModel.edmx
◎
選擇從數據庫中創建模型。
◎
定義數據庫鏈接,選中咱們的
MyDatabase.mdf
數據庫進行鏈接。
◎
選擇數據庫內的數據表、示圖、存儲過過程等。這裏咱們只要選取
Friend
表便可,點擊「Finish」完成。
此時需編譯一下Shift+F6。下面建立域名服務,域名服務是爲RIA的關健。經過建立一個在網絡域名服務項目,生成相應的在客戶端訪問的代碼,現是一個本地數據存儲,沒有Web服務配置,鏈接字符串等。
◎
添加新建項中選擇"Domain Service Class」,命名爲:FriendDomainService.cs。
◎
定義Domain Data Class的參數,這裏咱們要把Entities的FunSLUsers和Enable editing都鉤上.Generate associated calsses for metadata是集成強大數據展現的定義集,通常建議把空上也鉤上,集成了例如:正則表達式等數據效驗功能.以下圖
需再次編譯一下,以使Domain Data Class生效到Silverlight項目中,下面進行silverlight端的數據操做。
◎如下是MainPage.xaml的內容,
定義了一個Gridview控件用來顯示數據,三個按扭控件分別是添加、修改、刪除.
<UserControl x:Class="Ch16_Exam3_2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400"
<!-- 增長SDK 客戶端庫程序集命名空間支持 -->
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices" xmlns:my="clr-namespace:Ch16_Exam3_2.Web">
<Grid x:Name="LayoutRoot">
<sdk:DataGrid AutoGenerateColumns="True" Height="197" HorizontalAlignment="Left" Margin="37,33,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="322" />
<Button Content="添加" Height="39" HorizontalAlignment="Left" Margin="55,250,0,0" Name="btAdd" VerticalAlignment="Top" Width="90" FontSize="15" Click="btAdd_Click" />
<Button Content="刪除" Height="40" HorizontalAlignment="Left" Margin="170,249,0,0" Name="btDele" VerticalAlignment="Top" Width="86" FontSize="15" />
<Button Content="修改" Height="39" HorizontalAlignment="Left" Margin="271,250,0,0" Name="btAdapt" VerticalAlignment="Top" Width="84" FontSize="15" />
</Grid>
</UserControl>
◎ 菜單「Data」下「Show Data Sources」,可看到數據源FridendContext,在代碼在可直接使用了。
◎如下是MainPage.xaml.cs文件代碼部份。也就是咱們開始經過.net ria service操做數據庫了。
using Ch16_Exam3_2.Web;//後手動直接添加的命名的空間
namespace Ch16_Exam3_2
{
public partial class MainPage : UserControl
{
FridendContext fridendcontext;
public MainPage()
{
InitializeComponent();
fridendcontext= new FridendContext();
LoadData();
}
void LoadData()
{
dataGrid1.ItemsSource = fridendcontext.Friends;
fridendcontext.Load(FridendContext.GetFriendQuery());
}
//增長記錄
private void btAdd_Click(object sender, RoutedEventArgs e)
{
Friend fid = new Friend();
fid.Name = "張剛"+System .DateTime .Now .Millisecond.ToString ();
fid.Address = "內蒙古市";
fid.Phone = "87663560";
fridendcontext.Friends.Add(fid);
fridendcontext.SubmitChanges();
MessageBox.Show("增長成功");
}
//刪除記錄
private void btDele_Click(object sender, RoutedEventArgs e)
{
Friend fid = (Friend)dataGrid1.SelectedItem;
fridendcontext.Friends.Remove(fid);
fridendcontext.SubmitChanges();
MessageBox.Show("刪除成功");
}
//修改記錄
private void btAdapt_Click(object sender, RoutedEventArgs e)
{
Friend fid = (Friend)dataGrid1.SelectedItem;
fid.Address = "北京市南京路";
fridendcontext.SubmitChanges();
MessageBox.Show("修改爲功");
}
}
}
可增長、刪除、修改等,如圖