- 在线时间
- 0 小时
- 专家
- 0
- UID
- 228783
- 注册时间
- 2005-12-25
- 帖子
- 31
- 精华
- 1
- 积分
- 127
- 离线
- 233 天
- 帖子
- 31
- 体力
- 241
- 威望
- 11
|
发表于 2010-3-26 22:31:23
|显示全部楼层
最近在升级原先使用Beta制作的项目,在升级中参考微软的说明,顺利完成了多个项目的升级,在此将升级的部分过程说明一下,帮助大家少走弯路。
在项目中以下内容会做变化
1.System.Windows.Ria --> System.ServiceModel.DomainServices.Client + System.ServiceModel.DomainServices.Client.Web
2.System.Windows.Controls.Ria --> System.Windows.Controls.DomainServices
3.System.Web.Ria --> System.ServiceModel.DomainServices.Server + System.ServiceModel.DomainServices.Hosting
4.System.Web.DomainServices --> System.ServiceModel.DomainServices.Server
5.System.Web.DomainServices.EntityFramework --> System.ServicesModel.DomainServices.EntityFramework
6.System.Web.DomainServices.LinqToSql --> Microsoft.ServiceModel.DomainServices.LinqToSql
7.System.Web.DomainServices.Proxies --> Microsoft.ServiceModel.DomainServices.Hosting.Local
8.System.Windows.Controls.Ria.Design --> System.Windows.Controls.DomainServices.Design
9.System.Windows.Controls.Ria.Expression.Design --> System.Windows.Controls.DomainServices.Expression.Design
10.System.Windows.Controls.Ria.VisualStudio.Design --> System.Windows.Controls.DomainServices.VisualStudio.Design
在引用中以下内容会有变化
1.System.Web.DomainServices --> System.ServiceModel.DomainServices.Server
2.System.Web.DomainServices.Providers --> System.ServiceModel.DomainServices.EntityFramework (for LinqToEntities classes)
Microsoft.ServiceModel.DomainServices.LinqToSql (for LinqToSql classes)
3.System.Web.Ria --> System.ServiceModel.DomainServices.Hosting
4.System.Web.Ria.ApplicationServices --> System.ServiceModel.DomainServices.Server.ApplicationServices
5.System.Web.Ria.Data --> Namespace removed.
System.ServiceModel.DomainServices.
Composition Attribute moved to System.ComponentModel.DataAnnotations.
OperationError renamed to ValidationResultInfo and now available in both System.ServiceModel.DomainServices.Client and System.ServiceModel.DomainServices.Server.
6.System.Web.Ria.Services --> System.ServiceModel.DomainServices.Hosting
7.System.Windows.Controls.Ria --> System.Windows.Controls
8.System.Windows.Data --> System.Windows.Controls
9.System.Windows.Ria --> System.ServiceModel.DomainServices.Client
10.System.Windows.Ria.ApplicationServices --> System.ServiceModel.DomainServices.Client.ApplicationServices
11.System.Windows.Ria.Services --> System.ServiceModel.DomainServices.Client
以上引用位置如下
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Libraries\Server
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Libraries\Silverlight
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Toolkit\Libraries\Server
如果更改完成,再编译,目前会提示.gs.cs 中[WebGet]有错误,需要再添加System.ServiceModel.Web.Extensions引用,这样就基本完成修改,接下来就是要修改 DomainService.cs 文件,需要修改添加,更新,删除的内容,修改方法如下(将绿色内容删除,红色内容改变为蓝色):
1.添加部分
public void InsertProduct(Product product)
{
if (product.EntityState != EntityState.Added)
{
if (product.EntityState != EntityState.Detached)
{
ObjectContext.ObjectStateManager.ChangeObjectState(product, EntityState.Added);
}
else
{
ObjectContext.AddObject("Products", product); --> ObjectContext.Products.AddObject(product); }
}
}
2.更新部分
public void UpdateProduct(Product current)
{
ObjectContext.AttachAsModified(current, this.ChangeSet.GetOriginal(current)); --> ObjectContext.Products.AttachAsModified(current, this.ChangeSet.GetOriginal(current));
}
3.删除部分
public void DeleteProduct(Product product)
{
if (product.EntityState == EntityState.Detached)
{
ObjectContext.Attach(product); --> ObjectContext.Products.Attach(product);
}
ObjectContext.DeleteObject(product); --> ObjectContext.Products.DeleteObject(product);
}
如果项目中还使用了 Richtextarea 控件,还需要更改 xaml 文件,修改为 Richtextbox.
基本上大的内容就这么多,其实在有些项目中还有其他的问题,但根据微软的文档逐步调试,都得到了解决。 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|