ADO.NET Data Service 一

最近在学习的过程中看到了ADO.NET Data Service 这个东西,感觉用起来很好用,今天就来用用;

目前对他的运行机制还不是很明确,先做了一个示例出来感受一下他的好处;

在后过的学习过程中可能会更加深入的学习,便宜能更加了解他的内部机制;

先看创建过程:

1 先创建一个ASP.NET 的应该程序

2 在默认的页面中添加一个GridView控件;

3 添加一个ado.NET Entity ;如下图所示

image

单击确定

image

单击下一步,选择你在生成的表;这样实体就创建完毕;

4 创建一个ADO.NET Data Services

image

单击确定,出现如下代码:

namespace MyDataService
{
    public class WebDataService1 : DataService< /* TODO: 在此放置数据源类名*/ >
    {
        // 仅调用此方法一次以初始化涉及服务范围的策略。
        public static void InitializeService(IDataServiceConfiguration config)
        {
            // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
            // 示例:
            // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
        }
    }
}

将把以上代码修改成如下代码:

public class NorthwindDataService : DataService<NORTHWNDEntities>
   {
       // 仅调用此方法一次以初始化涉及服务范围的策略。
       public static void InitializeService(IDataServiceConfiguration config)
       {
           // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
           // 示例:
           config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead);
           // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
       }
   }
 
运行服务:
image 
将出现如下:
image 
将在URL中输入Orders,显示记录条数;
image 
 
最后在页面上将显示数据;将把数据源绑定给GridView,代码如下:
public partial class _Default : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)
       {
           NorthwindDataService ss = new NorthwindDataService();

           DataServiceContext context = new DataServiceContext(new 
           Uri("http://localhost:7261/NorthwindDataService.svc/"));
           this.GridView1.DataSource = context.Execute<Orders>(new Uri("Orders", UriKind.Relative));
           this.GridView1.DataBind();
       }
   }
运行结果如下:
image 
 
本文是一个关于ADO.NET Data Services 一个入门级的示例代码,文章的原理及过程没有说得很详细
我也在学习,将在后面为大家提供,
希望对初学者的朋友有所帮助;
posted @ 2009-04-28 16:23  阳光追梦  阅读(667)  评论(0编辑  收藏  举报
/*快速评论*/ #div_digg { position: fixed; bottom: 10px; right: 15px; border: 2px solid #ECD7B1; padding: 10px; width: 140px; background-color: #fff; border-radius: 5px 5px 5px 5px !important; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); } /** 不知道为什么页面加载完成时还读不到div_digg。可能也是动态生成的。 所以这里只能用定时器 不断的读取,当读取到了再给它动态添加快捷按钮 **/ //自定义 定时器[当元素加载完成是执行回调函数] function customTimer(inpId,fn) { if ($(inpId).length) { fn(); } else { var intervalId = setInterval(function () { if ($(inpId).length) { //如果存在了 clearInterval(intervalId); // 则关闭定时器 customTimer(inpId,fn); //执行自身 } }, 100); } } //页面加载完成是执行 $(function () { customTimer("#div_digg", function () { var div_html = "
\ 关注\  | \ 顶部\  | \ 评论\
"; $("#div_digg").append(div_html); //tbCommentBody }); });