◎
新建项目,注意选中“
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("修改为功");
}
}
}
可增长、删除、修改等,如图