天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ADO.NET Data Service

關(guān)于ADO.NET Entity Framework部分的內(nèi)容見(jiàn)ADO.NET Entity Framework(1-4)

http://www.cnblogs.com/foundation/archive/2008/10/06/1304718.html

本文例子下載: http://files.cnblogs.com/wxwinter/lz.rar

 

ADO.NET Data Service介紹

 

1.ADO.NET Data Service的DataServiceHost是一個(gè)WCF Service,由System.Data.Services.DataService提供來(lái)自NET3.5 SP1 類庫(kù)中的System.Data.Services.dll

2.DataServices會(huì)自動(dòng)為加載的Entity對(duì)象生成具有增查刪改功能的WCF服務(wù)

3.DataServices是以Http方式與客戶端進(jìn)行通信.任何可以實(shí)現(xiàn)HTTP訪問(wèn)的客戶端,都可以與DataServices交互

4. NET3.5 SP1的客戶端可以使用System.Data.Services.Client.DataServiceContext與DataServices交互,該類來(lái)自NET3.5 SP1 類庫(kù)中的System.Data.Services.Client.dll 文件

5. Silverlight 2.0客戶端可以使用System.Data.Services.Client.DataServiceContext與DataServices交互,該類來(lái)自Silverlight 2.0 類庫(kù)中的System.Data.Services.Client 文件

6.DataServices提供ATOM與JSON兩種格式用來(lái)描述數(shù)據(jù)結(jié)構(gòu),說(shuō)明如下:

ATOM

RSS類似,也是建立在XML數(shù)據(jù)格式的基礎(chǔ)之上的

Atom相對(duì)RSS格式而言,進(jìn)行了擴(kuò)展,提供了比RSS更多的項(xiàng)目屬性

JSON

格式如下

{

"name": "wxd",

"time": "2008/10/10 10:10",

"value": 123.456,

"list": [ "wxwinter", "lzm"]

}

添加ADO.NET數(shù)據(jù)服務(wù)

public class myWebDataService : DataService<myDBEntities>

{

public static void InitializeService(IDataServiceConfiguration config)

{

config.SetEntitySetAccessRule("*", EntitySetRights.All);

// * :表示全部實(shí)體集

// EntitySetRights.All : 表示全部的操作權(quán)限

}

}

 

NET客啟訪問(wèn)DataService

引用數(shù)據(jù)服務(wù)

 

查詢

//查詢

private void button1_Click(object sender, EventArgs e)

{

Uri url = new Uri("http://localhost:1468/myWebDataService.svc");

myService.myDBEntities server = new WinFormClient.myService.myDBEntities(url);

 

foreach (var v in server.tabA)

{

 

Console.WriteLine("{0},{1},{2}", v.a, v.b, v.c);

}

//-

foreach (var v in server.tabX.Where(p=>p.x=="002"))

{

 

Console.WriteLine("{0},{1},{2}", v.x, v.y, v.z);

}

 

}

 

lzm ,2 ,5

wxd ,1 ,4

wxwinter ,3 ,6

002 ,8 ,llzzmm

Silverlight客啟訪問(wèn)DataService

Silverlight 2.0 可以利用兩種方法與DataServices交互:

  • HttpWebRequest 與 HttpWebResponse
  • System.Data.Services.Client.DataServiceContext

Silverlight 2.0 是使用異步方法來(lái)連接遠(yuǎn)程數(shù)據(jù)源。

LINQ 的 select ,要用 BeginExecute() 和 EndExecute()

LINQ 的 SaveChanges(),要用 BeginSaveChanges() 和 EndSaveChanges()

 

引用服務(wù)

 

xaml頁(yè)面

<StackPanel Loaded="StackPanel_Loaded">

<data:DataGrid Name="dg">data:DataGrid>

<Button Content="DataServiceContext方式加載數(shù)據(jù)" Width="200" Click="loadData_Click" />

<Button Content="WebClient方式加載數(shù)據(jù)" Width="200" Click="loadData2_Click" />

<Button Content="添加" Width="200" Click="add_Click" />

<Button Content="修改" Width="200" Click="edit_Click" />

<Button Content="刪除" Width="200" Click="del_Click" />

StackPanel>

myService.myDBEntities server;

private void StackPanel_Loaded(object sender, RoutedEventArgs e)

{

Uri url = new Uri("http://localhost:1468/myWebDataService.svc");

server = new myService.myDBEntities(url);

}

void saveChanges_completed(IAsyncResult obj)

{

 

}

URL訪問(wèn)

 

DataService 支持URL方式訪問(wèn)

格式

http://[Url]/[ServiceName]/[EntityName]/[NavigationOptions]?[QueryOptions]

Url: 數(shù)據(jù)服務(wù)所在的網(wǎng)址

ServiceName: 數(shù)據(jù)服務(wù)的名稱

EntityName: Entity 名稱或是 Service 方法名稱

NavigationOptions: 查詢 Entity 中關(guān)聯(lián)的設(shè)定

QueryOptions: 查詢的選項(xiàng)

 

WEB方法

[WebGet] 使用 GET方式訪問(wèn)

[WebInvoke] 使用 POST/PUT/DELETE 方式訪問(wèn)

服務(wù)

public class myWebDataService : DataService<myDBEntities>

{

 

public static void InitializeService(IDataServiceConfiguration config)

{

config.SetEntitySetAccessRule("*", EntitySetRights.All);

// * :表示全部實(shí)體集

// EntitySetRights.All : 表示全部的操作權(quán)限

 

// config.SetServiceOperationAccessRule("getTabA", ServiceOperationRights.All);

config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);

// * :表示全部實(shí)體集

// ServiceOperationRights.All : 表示全部的操作權(quán)限

}

 

[WebGet]

public IQueryable<tabA> getTabA(string a)

{

var v= CurrentDataSource.tabA.Where(p => p.a == a);

return v;

}

 

[WebInvoke]

public IQueryable<tabX> getTabX(string x)

{

var v = CurrentDataSource.tabX.Where(p => p.x == x);

return v;

}

}

NET技術(shù)ADO.NET Data Service,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 3d无遮挡h肉动漫在线播放 | 久久99热狠狠色一区二区 | 午夜精品久久久久久久99蜜桃 | 后入内射国产一区二区 | 韩国无遮羞禁动漫在线观看 | 亚洲综合久久一本伊伊区 | 亚洲日本欧美国产在线视 | 259luxu高跟黑色丝袜系列 | 久久电影精品久久99久久 | 一边摸一边桶一边脱免费 | 一个人免费观看HD完整版 | 色欲AV亚洲情无码AV蜜桃 | 哪里能看毛片 | 亚洲欧美一区二区成人片 | 中国老太婆xxxxx | 97免费视频在线 | 亚洲aaaa级特黄毛片 | 精品96在线观看影院 | 亚洲精品午夜aaa级久久久久 | 超碰免费视频在线观看 | 国产精品久久久久久久久久久 | 国产成人精品123区免费视频 | 真实处破女全过程完免费观看 | 九九视频在线观看视频6 | 伊人久久电影院 | 国产精品无码亚洲区艳妇 | 9久久99久久久精品齐齐综合色圆 | 亚洲黄色在线观看 | 国产精品高清m3u8在线播放 | 国产传媒精品1区2区3区 | qvod 电影 | 亚洲乱码中文字幕久久 | 亚洲精品一区国产欧美 | 国产人妖一区二区 | WWWXXXX兽交| 黄小飞二人转 | 富婆夜店找黑人猛男BD在线 | 男女夜晚在爽视频免费观看 | 国产精品97久久久久久AV色戒 | 国产偷国产偷亚洲高清app | 久久综合色超碰人人 |