天天躁日日躁狠狠躁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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本人xxxⅹ18hd19hd | 全是肉的高h短篇列车 | 手机看片成人 | 大胸美女裸身色诱网站 | 好男人好资源视频高清 | 青春禁区动漫免费观看 | 青柠在线观看免费播放电影 | 脱女学小内内摸出水网站免费 | 撕开美女的衣服2 | a圾片目录大全 | 免费特黄一区二区三区视频一 | 九九99亚洲精品久久久久 | 国产成人精品久久一区二区三区 | 晓雪老师我要进你里面好爽 | 久久精品观看影院2828 | 久久视频在线视频观看天天看视频 | 亚洲高清一区二区三区电影 | 99久久精品费精品国产 | 在线播放日韩欧美亚洲日本 | 午夜国产羞羞视频免费网站 | 久久免费视频 | 扒开女人下面使劲桶动态图 | 国产成人精品区在线观看 | 日本久久不射 | 九九精品视频在线播放 | 久青草国产在视频在线观看 | 国产白丝JK被疯狂输出视频 | 免费A级毛片无码无遮挡 | 国产精品人妻无码久久久奥特曼 | 99热久久视频只有精品6国产 | 挺进老师的紧窄小肉六电影完整版 | 神马电影院午夜神福利在线观看 | 中文字幕网站在线观看 | 国产精品久久欧美一区 | 国精产品一区二区三区有限公司 | 色婷婷五月综合中文字幕 | 午夜国产免费视频亚洲 | adc高清在线观看 | 久久久久伊人 | 天堂岛www天堂资源在线 | 国产精品av |