Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4172字,纯文字阅读大概需要6分钟。
内容图文
![Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)](/upload/InfoBanner/zyjiaocheng/455/180f3d75828c47f4aa46223a8a388da9.jpg)
这里,我们可以看到,VS自动为表(这里映射为类)添加了DataContract属性,为序列化的成员添加了DataMember特性,同时设置了DataMember特性的Order属性为WCF提供序列化的顺序。另外,增加了一个序列化OnDeserializing事件,这个事件在反序列化之前发生,用于初始化类成员。
Web Service层实现
服务层就是在Silverlight客户端与Web服务端提供一个通道,官方推荐使用WCF来读取,当然ASMX也可以。我想不久将来微软可能专门为Silverlight设计一个Silverlight-Enabled WCF Service,不过现在使用WCF Service也可以访问,使用这个的时候一定要注意在web.config文件中把wsHttpBinding改为basicHttpBinding。
第一步:添加WCF服务
第二步:定义服务契约。我们为WCF Service提供的增删查改方法定义服务契约。
[ServiceContract] public interface IAcademeService { [OperationContract] List<Product> GetAllProducts(); [OperationContract] Product SaveProduct(Product product); [OperationContract] void DeleteProduct(Product product); }
第三步:实现服务:为增删查改方法具体实现。
在这里,提供一个小技巧,在IAcademeService下点击小箭头,选择实现接口,VS自动为我们生成了上面定义的没有实现的方法。
接着我们完成这些方法:其中SaveProduct方法用于更新和插入数据,这里使用了LINQ to SQL语句。
public class AcademeService : IAcademeService { public List<Product> GetAllProducts() { AcademeDataContext db = new AcademeDataContext(); var products = from p in db.Products select p; return products.ToList<Product>(); } public Product SaveProduct(Product product) { AcademeDataContext db = new AcademeDataContext(); if (product.ProductID > 0) { //更新记录 db.Products.Attach(product, true); } else { //插入记录 db.Products.InsertOnSubmit(product); } db.SubmitChanges(); return product; } public void DeleteProduct(Product product) { AcademeDataContext db = new AcademeDataContext(); db.Products.Attach(product, true); db.Products.DeleteOnSubmit(product); db.SubmitChanges(); } }
第四步:配置web.cofig文件。只需要把wsHttpBinding改为basicHttpBinding
<serviceBehaviors> <behavior name="AcademeServiceBehavior"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> </behaviors> <services> <service behaviorConfiguration="AcademeServiceBehavior" name="AcademeService"> <endpoint address="" binding="basicHttpBinding" contract="IAcademeService"> <identity> <dns value="localhost"/> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> </service> </services> </system.serviceModel>
第五步:设置Web应用程序的端口号。把器端口号设置为固定端口52600,在浏览器中查看服务是否正常。
到此,编译一下Web项目,我们已经完成了所有的事情了,下一步就是在Silverlight中调用这个服务了。
版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。
Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)
标签:
本文系统来源:http://blog.csdn.net/u013948190/article/details/47292169
内容总结
以上是互联网集市为您收集整理的Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)全部内容,希望文章能够帮你解决Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。