欢迎光临
我们一直在努力

LINQ To SQL Designer描述

学习LINQ To SQL时,经常会遇到LINQ To SQL Designer问题,这里将介绍LINQ To SQL Designer问题的解决方法。

LINQ To SQL Designer

谈完了系统架构后,现在让我们回到主轴上,如何将LINQ To SQL应用于N-Tier应用程式架构中,在这个阶段首要必须解决的问题是,LINQ To SQL的Entity Object能否透过Web Service 、Remoting、WCF来传递?

答案是肯定的,不支援这个的话,LINQ To SQL就几乎没有存在的价值了。不过这有个小技巧,在预设设定中,LINQ To SQL Designer所产生出来的Entity Class是不支援序列化的,你必须在LINQ To SQL Designer中调整Serialization Mode属性来要求其产生可序列化的Entity Class。

在设定Serialization Mode为Unidirectional后,所产生的Entity Class便会标上传统物件序列化所须的[Serializable]及WCF所须的[DataContrast]等两个Attribute,有了这两个 Attribute后,Entity Object便可传递于Remoting、Web Services、WCF等通讯协定。

中介伺服器端的实作

1.用WCF来实作中介伺服器是一件相当轻松的事,首先请建立一个WCF Service Application专案。

2.然后添加一个LINQ To SQL Classes项目于此专案中,本例于此添加了北风资料库的Customers资料表。

3.接着删除自动产生的IService1.cs,于Service1.svc.cs中输入一下代码。


 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Runtime.Serialization;  
  5. using System.ServiceModel;  
  6. using System.Text;  
  7.    
  8. namespace WCFDataService  
  9. {  
  10. [ServiceContract]  
  11. public interface IDataService  
  12. {  
  13. [OperationContract]  
  14. Customer[] GetAllData();  
  15. }  
  16.    
  17. public class DataService : IDataService  
  18. {  
  19. region IDataService Members  
  20.    
  21. public Customer[] GetAllData()  
  22. {  
  23. NorthwindDataContext context = new NorthwindDataContext();  
  24. return (from s1 in context.Customers select s1).ToArray();  
  25. }  
  26. endregion  
  27. }  

最后调整app.config中关于Service的设定后,便完成了此一执行于中介伺服器上的WCF Service的建构工作。

【编辑推荐】

  1. Linq表达式树简单介绍
  2. Linq和dLinq区别剖析
  3. Lambda表达式和Linq查询浅析
  4. Linq Lambda表达式概括
  5. Linq查询本质简单分析

赞(0) 打赏
未经允许不得转载:九八云安全 » LINQ To SQL Designer描述

评论 抢沙发