本文整理汇总了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));
}
}
示例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);
}
}