当前位置: 首页>>代码示例>>C#>>正文


C# DataServiceContext.LoadProperty方法代码示例

本文整理汇总了C#中DataServiceContext.LoadProperty方法的典型用法代码示例。如果您正苦于以下问题:C# DataServiceContext.LoadProperty方法的具体用法?C# DataServiceContext.LoadProperty怎么用?C# DataServiceContext.LoadProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DataServiceContext的用法示例。


在下文中一共展示了DataServiceContext.LoadProperty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: NamedStreams_LoadPropertyTest

        //[TestMethod, Variation("One should not be able to get named streams via load property api")]
        public void NamedStreams_LoadPropertyTest()
        {
            // populate the context
            DataServiceContext context = new DataServiceContext(request.ServiceRoot, ODataProtocolVersion.V4);
            EntityWithNamedStreams1 entity = context.CreateQuery<EntityWithNamedStreams1>("MySet1").Take(1).Single();

            try
            {
                context.LoadProperty(entity, "Stream1");
            }
            catch (DataServiceClientException ex)
            {
                Assert.IsTrue(ex.Message.Contains(DataServicesResourceUtil.GetString("DataService_VersionTooLow", "1.0", "3", "0")), String.Format("The error message was not as expected: {0}", ex.Message));
            }

            try
            {
                context.BeginLoadProperty(
                    entity,
                    "Stream1",
                    (result) => { context.EndLoadProperty(result); },
                    null);
            }
            catch (DataServiceClientException ex)
            {
                Assert.IsTrue(ex.Message.Contains(DataServicesResourceUtil.GetString("DataService_VersionTooLow", "1.0", "3", "0")), String.Format("The error message was not as expected: {0}", ex.Message));
            }
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:29,代码来源:NamedStream_ProjectionTests.cs

示例2: SDPC_QORFullLoad

            public void SDPC_QORFullLoad()
            {
                using (Utils.ConfigurationCacheCleaner())
                using (Utils.RestoreStaticValueOnDispose(typeof(SimpleDataServiceHelper), "PageSizeCustomizer"))
                {
                    SimpleDataServiceHelper.PageSizeCustomizer = PageSizeCustomizerFast;
                    SimpleWorkspace workspace = this.NorthwindWorkspacePaged;
                    Uri baseUri = new Uri(workspace.ServiceEndPoint + workspace.ServiceContainer.Name + ".svc", UriKind.Absolute);

                    DataServiceContext ctx = new DataServiceContext(baseUri);
                    ctx.EnableAtom = true;
                    ctx.Format.UseAtom();
                    var q = ctx.CreateQuery<northwindBinding.Customers>("Customers").Expand("Orders");

                    int totalCustomerCount = q.Count();
                    int totalOrdersCount = ctx.CreateQuery<northwindBinding.Orders>("Orders").Count();

                    var qor = q.Execute() as QueryOperationResponse<northwindBinding.Customers>;

                    DataServiceQueryContinuation<northwindBinding.Customers> nextCustLink = null;
                    int custCount = 0;
                    int orderCount = 0;
                    do
                    {
                        ICollection previousOrderCollection = null;

                        foreach (var c in qor)
                        {
                            try
                            {
                                if (previousOrderCollection != null)
                                {
                                    qor.GetContinuation(previousOrderCollection);
                                    Assert.Fail("Out of scope collection did not throw");
                                }
                            }
                            catch (ArgumentException)
                            {
                            }

                            var nextOrderLink = qor.GetContinuation(c.Orders);
                            while (nextOrderLink != null)
                            {
                                if (custCount % 2 == 0)
                                {
                                    var innerQOR = ctx.Execute<northwindBinding.Orders>(nextOrderLink) as QueryOperationResponse<northwindBinding.Orders>;
                                    foreach (var innerOrder in innerQOR)
                                    {
                                        ctx.AttachLink(c, "Orders", innerOrder);
                                        c.Orders.Add(innerOrder);
                                    }
                                    nextOrderLink = innerQOR.GetContinuation();
                                }
                                else
                                {
                                    nextOrderLink = ctx.LoadProperty(c, "Orders", nextOrderLink).GetContinuation();
                                }
                            }

                            previousOrderCollection = c.Orders;

                            orderCount += c.Orders.Count;
                            custCount++;
                        }

                        nextCustLink = qor.GetContinuation();
                        if (nextCustLink != null)
                        {
                            qor = ctx.Execute<northwindBinding.Customers>(nextCustLink) as QueryOperationResponse<northwindBinding.Customers>;
                        }

                    } while (nextCustLink != null);

                    Assert.AreEqual(totalCustomerCount, custCount);
                    Assert.AreEqual(totalOrdersCount, orderCount);
                    Assert.AreEqual(totalOrdersCount, ctx.Links.Count);
                    Assert.AreEqual(totalCustomerCount + totalOrdersCount, ctx.Entities.Count);
                }
            }
开发者ID:larsenjo,项目名称:odata.net,代码行数:79,代码来源:NWReadOnlyTests.cs


注:本文中的DataServiceContext.LoadProperty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。