本文整理汇总了C#中ODataMessageWriter.CreateODataCollectionWriter方法的典型用法代码示例。如果您正苦于以下问题:C# ODataMessageWriter.CreateODataCollectionWriter方法的具体用法?C# ODataMessageWriter.CreateODataCollectionWriter怎么用?C# ODataMessageWriter.CreateODataCollectionWriter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ODataMessageWriter
的用法示例。
在下文中一共展示了ODataMessageWriter.CreateODataCollectionWriter方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteObject
/// <inheritdoc/>
public override void WriteObject(object graph, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)
{
if (messageWriter == null)
{
throw Error.ArgumentNull("messageWriter");
}
if (writeContext == null)
{
throw Error.ArgumentNull("writeContext");
}
ODataCollectionWriter writer = messageWriter.CreateODataCollectionWriter();
writer.WriteStart(
new ODataCollectionStart
{
Name = writeContext.RootElementName
});
ODataProperty property = CreateProperty(graph, writeContext.RootElementName, writeContext);
if (property != null)
{
ODataCollectionValue collectionValue = property.Value as ODataCollectionValue;
foreach (object item in collectionValue.Items)
{
writer.WriteItem(item);
}
writer.WriteEnd();
writer.Flush();
}
}
示例2: WriteObject
/// <inheritdoc/>
public override void WriteObject(object graph, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)
{
if (messageWriter == null)
{
throw Error.ArgumentNull("messageWriter");
}
if (writeContext == null)
{
throw Error.ArgumentNull("writeContext");
}
ODataCollectionWriter writer = messageWriter.CreateODataCollectionWriter(_edmItemType);
writer.WriteStart(
new ODataCollectionStart
{
Name = writeContext.RootElementName
});
ODataValue value = CreateODataValue(graph, writeContext);
if (value != null)
{
ODataCollectionValue collectionValue = value as ODataCollectionValue;
Contract.Assert(value != null);
foreach (object item in collectionValue.Items)
{
writer.WriteItem(item);
}
}
writer.WriteEnd();
writer.Flush();
}
示例3: CreateCollectionWriterWithTypeDefinitionAsItemType
public void CreateCollectionWriterWithTypeDefinitionAsItemType()
{
var writer = new ODataMessageWriter(new DummyRequestMessage());
var entityElementType = new EdmTypeDefinitionReference(new EdmTypeDefinition("NS", "Test", EdmPrimitiveTypeKind.Int32), false);
var collectionWriter = writer.CreateODataCollectionWriter(entityElementType);
Assert.IsNotNull(collectionWriter, "CreateODataCollectionWriter with type definition item type failed.");
}
示例4: CreateCollectionWriterWithEnumAsItemType
public void CreateCollectionWriterWithEnumAsItemType()
{
var writer = new ODataMessageWriter(new DummyRequestMessage());
var entityElementType = new EdmEnumTypeReference(new EdmEnumType("FakeNS", "FakeEnum"), true);
var collectionWriter = writer.CreateODataCollectionWriter(entityElementType);
Assert.IsNotNull(collectionWriter, "CreateODataCollectionWriter with enum item type failed.");
}
示例5: CreateCollectionWriterWithEntityCollectionTypeShouldFail
public void CreateCollectionWriterWithEntityCollectionTypeShouldFail()
{
var writer = new ODataMessageWriter(new DummyRequestMessage());
var entityElementType = new EdmEntityTypeReference(new EdmEntityType("Fake", "Fake"), true);
Action createWriterWithEntityCollectionType = () => writer.CreateODataCollectionWriter(entityElementType);
createWriterWithEntityCollectionType.ShouldThrow<ODataException>().WithMessage(Strings.ODataMessageWriter_NonCollectionType("Fake.Fake"));
}
示例6: CreateCollectionWriterWithoutTypeShouldPassForJsonLight
public void CreateCollectionWriterWithoutTypeShouldPassForJsonLight()
{
var settings = new ODataMessageWriterSettings();
settings.SetContentType(ODataFormat.Json);
var writer = new ODataMessageWriter(new DummyRequestMessage(), settings, new EdmModel());
writer.CreateODataCollectionWriter(null).Should().BeOfType<ODataJsonLightCollectionWriter>();
}
示例7: TestCreateODataCollectionWriter_InJsonLight_WithoutTypeReference_Throws
public void TestCreateODataCollectionWriter_InJsonLight_WithoutTypeReference_Throws()
{
// Arrange
IODataResponseMessage response = CreateResponse();
ODataMessageWriterSettings settings = CreateJsonLightSettings();
IEdmModel model = CreateModel();
using (ODataMessageWriter writer = new ODataMessageWriter(response, settings, model))
{
// Act & Assert
Assert.Throws<ODataException>(() => writer.CreateODataCollectionWriter());
}
}
示例8: TestCreateODataCollectionWriter_InJsonLight_WithTypeReference_DoesNotThrow
public void TestCreateODataCollectionWriter_InJsonLight_WithTypeReference_DoesNotThrow()
{
// Arrange
IODataResponseMessage response = CreateResponse();
ODataMessageWriterSettings settings = CreateJsonLightSettings();
IEdmModel model = CreateModel();
IEdmTypeReference itemTypeReference = new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), false);
using (ODataMessageWriter writer = new ODataMessageWriter(response, settings, model))
{
// Act & Assert
Assert.DoesNotThrow(() => writer.CreateODataCollectionWriter(itemTypeReference));
}
}
示例9: WriteObject
/// <inheritdoc/>
public override void WriteObject(object graph, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)
{
if (messageWriter == null)
{
throw Error.ArgumentNull("messageWriter");
}
if (writeContext == null)
{
throw Error.ArgumentNull("writeContext");
}
ODataCollectionWriter writer = messageWriter.CreateODataCollectionWriter(ElementType);
WriteCollection(writer, graph, writeContext);
}
示例10: WriteObject
/// <inheritdoc/>
public override void WriteObject(object graph, Type type, ODataMessageWriter messageWriter,
ODataSerializerContext writeContext)
{
if (messageWriter == null)
{
throw Error.ArgumentNull("messageWriter");
}
if (writeContext == null)
{
throw Error.ArgumentNull("writeContext");
}
IEdmTypeReference collectionType = writeContext.GetEdmType(graph, type);
Contract.Assert(collectionType != null);
IEdmTypeReference elementType = GetElementType(collectionType);
ODataCollectionWriter writer = messageWriter.CreateODataCollectionWriter(elementType);
WriteCollection(writer, graph, collectionType.AsCollection(), writeContext);
}
示例11: WriteObject
/// <inheritdoc/>
public override void WriteObject(object graph, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)
{
if (messageWriter == null)
{
throw Error.ArgumentNull("messageWriter");
}
if (writeContext == null)
{
throw Error.ArgumentNull("writeContext");
}
// TODO: Feature #664 - Support JSON light (pass type reference).
ODataCollectionWriter writer = messageWriter.CreateODataCollectionWriter();
writer.WriteStart(
new ODataCollectionStart
{
Name = writeContext.RootElementName
});
ODataProperty property = CreateProperty(graph, writeContext.RootElementName, writeContext);
Contract.Assert(property != null);
ODataCollectionValue collectionValue = property.Value as ODataCollectionValue;
Contract.Assert(collectionValue != null);
foreach (object item in collectionValue.Items)
{
writer.WriteItem(item);
}
writer.WriteEnd();
writer.Flush();
}
示例12: CollectionTest
public void CollectionTest()
{
foreach (var mimeType in this.mimeTypes)
{
string testMimeType = mimeType.Contains("xml") ? MimeTypes.ApplicationXml : mimeType;
var settings = new ODataMessageWriterSettings() { PayloadBaseUri = this.ServiceUri };
settings.ODataUri = new ODataUri() { ServiceRoot = this.ServiceUri };
string outputWithModel = null;
string outputWithoutModel = null;
var responseMessageWithModel = new StreamResponseMessage(new MemoryStream());
responseMessageWithModel.SetHeader("Content-Type", testMimeType);
using (var messageWriter = new ODataMessageWriter(responseMessageWithModel, settings, WritePayloadHelper.Model))
{
var odataWriter = messageWriter.CreateODataCollectionWriter(WritePayloadHelper.ContactDetailType);
outputWithModel = this.WriteAndVerifyCollection(responseMessageWithModel, odataWriter, true,
testMimeType);
}
var responseMessageWithoutModel = new StreamResponseMessage(new MemoryStream());
responseMessageWithoutModel.SetHeader("Content-Type", testMimeType);
using (var messageWriter = new ODataMessageWriter(responseMessageWithoutModel, settings))
{
var odataWriter = messageWriter.CreateODataCollectionWriter();
outputWithoutModel = this.WriteAndVerifyCollection(responseMessageWithoutModel, odataWriter, false,
testMimeType);
}
Assert.AreEqual(outputWithModel, outputWithoutModel);
}
}