LINQ To SQL Designer描述

开发 后端
这里介绍LINQ To SQL Designer所产生出来的Entity Class是不支援序列化的,你必须在LINQ To SQL Designer中调整Serialization Mode属性来要求其产生可序列化的Entity Class。

学习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查询本质简单分析
责任编辑:佚名 来源: Sina
相关推荐

2009-09-10 10:37:15

LINQ to SQL

2009-09-17 17:14:54

linq to sql

2009-09-15 11:14:33

LINQ to SQL

2009-09-15 13:14:01

LINQ to SQL

2009-09-15 10:02:44

Linq to SQL

2009-09-09 15:37:27

Linq DataLo

2009-09-09 15:28:43

Linq to obj

2009-09-15 16:26:36

Linq orderb

2009-09-18 16:00:07

LINQ架构

2009-09-10 15:26:03

Linq City集合

2009-09-14 10:57:46

LINQ入门

2009-09-14 15:43:12

Linq Settin

2009-09-09 11:14:04

Linq多个结果集

2009-09-18 13:53:09

LINQ工具集

2009-09-10 09:09:40

Linq实体继承

2009-09-14 14:58:52

LINQ to XML

2009-09-14 13:14:49

LINQ序列

2009-09-16 10:58:13

Linq数据分组

2009-09-16 15:48:05

Linq修改XML文档

2009-09-11 10:20:36

Linq扩展方法
点赞
收藏

51CTO技术栈公众号