本文整理汇总了C#中Microsoft.OData.Edm.Library.EdmEntityType.NavigationProperty方法的典型用法代码示例。如果您正苦于以下问题:C# EdmEntityType.NavigationProperty方法的具体用法?C# EdmEntityType.NavigationProperty怎么用?C# EdmEntityType.NavigationProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.OData.Edm.Library.EdmEntityType
的用法示例。
在下文中一共展示了EdmEntityType.NavigationProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NavigationPropertiesProjectionTest
public void NavigationPropertiesProjectionTest()
{
EdmModel model = new EdmModel();
EdmEntityType townType = model.EntityType("TownType");
townType.KeyProperty("Id", EdmCoreModel.Instance.GetInt32(false) as EdmTypeReference);
townType.NavigationProperty("NavProp1", townType);
EdmEntitySet townsSet = model.EntitySet("Towns", townType);
EdmEntityType cityType = new EdmEntityType("TestModel", "CityType", townType);
model.AddElement(cityType);
cityType.NavigationProperty("NavProp2", townType);
model.EntitySet("Cities", cityType);
EdmEntityType cityType2 = new EdmEntityType("TestModel", "DuplicateCityType", townType);
model.AddElement(cityType2);
cityType2.NavigationProperty("NavProp2", townType);
model.EntitySet("DuplicateCities", cityType2);
model.Fixup();
var testCases = new ProjectionTestCase[]
{
#region No $select
new ProjectionTestCase
{
DebugDescription = "No $select => two templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1)
.NavigationProperty("NavProp1", /*url*/null).NavigationProperty("NavProp2", /*url*/null),
ProjectionString = null,
},
new ProjectionTestCase
{
DebugDescription = "No $select + one property in the payload => one templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1)
.NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", /*url*/null),
ProjectionString = null,
},
new ProjectionTestCase
{
DebugDescription = "No $select + two properties in the payload => no templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1)
.NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ProjectionString = null,
},
#endregion No $select
#region Empty $select
new ProjectionTestCase
{
DebugDescription = "Empty $select => no templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1),
ProjectionString = string.Empty,
},
new ProjectionTestCase
{
DebugDescription = "Empty $select + one property in the payload => no templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1"),
ProjectionString = string.Empty,
},
new ProjectionTestCase
{
DebugDescription = "Empty $select + two properties in the payload => no templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ProjectionString = string.Empty,
},
#endregion Empty $select
#region $select=*
new ProjectionTestCase
{
DebugDescription = "$select=* => two templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", /*url*/null).NavigationProperty("NavProp2", /*url*/null),
ProjectionString = "*",
},
new ProjectionTestCase
{
DebugDescription = "$select=* + one property in the payload => one templatized property.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp2", "http://odata.org/nav2"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp2", "http://odata.org/nav2").NavigationProperty("NavProp1", /*url*/null),
ProjectionString = "*",
},
new ProjectionTestCase
{
DebugDescription = "$select=* + two properties in the payload => no templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ExpectedEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1).NavigationProperty("NavProp1", "http://odata.org/nav1").NavigationProperty("NavProp2", "http://odata.org/nav2"),
ProjectionString = "*",
},
#endregion $select=*
#region $select=NavProp2,*
new ProjectionTestCase
{
DebugDescription = "$select=NavProp2,* => two templatized properties.",
PayloadEntity = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1),
//.........这里部分代码省略.........