本文整理汇总了C#中Microsoft.Test.Taupo.Contracts.EntityModel.EntityModelSchema.EntitySet方法的典型用法代码示例。如果您正苦于以下问题:C# EntityModelSchema.EntitySet方法的具体用法?C# EntityModelSchema.EntitySet怎么用?C# EntityModelSchema.EntitySet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Test.Taupo.Contracts.EntityModel.EntityModelSchema
的用法示例。
在下文中一共展示了EntityModelSchema.EntitySet方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildTestModel
/// <summary>
/// Build a test model shared across several tests.
/// </summary>
/// <returns>Returns the test model.</returns>
internal static EntityModelSchema BuildTestModel()
{
// The metadata model
EntityModelSchema model = new EntityModelSchema();
ComplexType addressType = model.ComplexType("Address")
.Property("Street", EdmDataTypes.String())
.Property("Zip", EdmDataTypes.Int32);
EntityType officeType = model.EntityType("OfficeType")
.KeyProperty("Id", EdmDataTypes.Int32)
.Property("Address", DataTypes.ComplexType.WithDefinition(addressType));
EntityType cityType = model.EntityType("CityType")
.KeyProperty("Id", EdmDataTypes.Int32)
.Property("Name", EdmDataTypes.String())
.NavigationProperty("CityHall", officeType)
.NavigationProperty("DOL", officeType)
.NavigationProperty("PoliceStation", officeType, true)
.NamedStream("Skyline")
.Property("MetroLanes", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.String()));
EntityType cityWithMapType = model.EntityType("CityWithMapType")
.WithBaseType(cityType)
.DefaultStream();
EntityType cityOpenType = model.EntityType("CityOpenType")
.WithBaseType(cityType)
.OpenType();
EntityType personType = model.EntityType("Person")
.KeyProperty("Id", EdmDataTypes.Int32);
personType = personType.NavigationProperty("Friend", personType);
EntityType employeeType = model.EntityType("Employee")
.WithBaseType(personType)
.Property("CompanyName", EdmDataTypes.String());
EntityType managerType = model.EntityType("Manager")
.WithBaseType(employeeType)
.Property("Level", EdmDataTypes.Int32);
model.Fixup();
// Fixed up models will have entity sets for all base entity types.
model.EntitySet("Employee", employeeType);
model.EntitySet("Manager", managerType);
return model;
}
示例2: BuildEdmValueModel
/// <summary>
/// Creates a test model to test our conversion of OData instances into EDM values.
/// </summary>
/// <returns>Returns a model suitable for testing EDM values over OData instances.</returns>
public static EntityModelSchema BuildEdmValueModel()
{
EntityModelSchema model = new EntityModelSchema();
var complexType = model.ComplexType("ComplexType");
complexType.Property("IntProp", EdmDataTypes.Int32);
complexType.Property("StringProp", EdmDataTypes.String());
complexType.Property("ComplexProp", complexType);
#region Entity types
model.EntityContainer("TestContainer");
// Entity type with a single primitive property
var singlePrimitivePropertyEntityType = model.EntityType("SinglePrimitivePropertyEntityType");
singlePrimitivePropertyEntityType.KeyProperty("ID", EdmDataTypes.Int32);
singlePrimitivePropertyEntityType.Property("Int32Prop", EdmDataTypes.Int32.Nullable());
model.EntitySet("SinglePrimitivePropertyEntityType", singlePrimitivePropertyEntityType);
// Entity type with all primitive properties
var allPrimitivePropertiesEntityType = model.EntityType("AllPrimitivePropertiesEntityType");
allPrimitivePropertiesEntityType.KeyProperty("ID", EdmDataTypes.Int32);
allPrimitivePropertiesEntityType.Property("BoolProp", EdmDataTypes.Boolean);
allPrimitivePropertiesEntityType.Property("Int16Prop", EdmDataTypes.Int16);
allPrimitivePropertiesEntityType.Property("Int32Prop", EdmDataTypes.Int32);
allPrimitivePropertiesEntityType.Property("Int64Prop", EdmDataTypes.Int64);
allPrimitivePropertiesEntityType.Property("ByteProp", EdmDataTypes.Byte);
allPrimitivePropertiesEntityType.Property("SByteProp", EdmDataTypes.SByte);
allPrimitivePropertiesEntityType.Property("SingleProp", EdmDataTypes.Single);
allPrimitivePropertiesEntityType.Property("DoubleProp", EdmDataTypes.Double);
allPrimitivePropertiesEntityType.Property("DecimalProp", EdmDataTypes.Decimal());
allPrimitivePropertiesEntityType.Property("DateTimeOffsetProp", EdmDataTypes.DateTimeOffset());
allPrimitivePropertiesEntityType.Property("DurationProp", EdmDataTypes.Time());
allPrimitivePropertiesEntityType.Property("GuidProp", EdmDataTypes.Guid);
allPrimitivePropertiesEntityType.Property("StringProp", EdmDataTypes.String());
allPrimitivePropertiesEntityType.Property("BinaryProp", EdmDataTypes.Binary());
model.EntitySet("AllPrimitivePropertiesEntityType", allPrimitivePropertiesEntityType);
// Entity type with a single complex property
var singleComplexPropertyEntityType = model.EntityType("SingleComplexPropertyEntityType");
singleComplexPropertyEntityType.KeyProperty("ID", EdmDataTypes.Int32);
singleComplexPropertyEntityType.Property("ComplexProp", complexType);
model.EntitySet("SingleComplexPropertyEntityType", singleComplexPropertyEntityType);
// Entity type with a single primitive collection property
var singlePrimitiveCollectionPropertyEntityType = model.EntityType("SinglePrimitiveCollectionPropertyEntityType");
singlePrimitiveCollectionPropertyEntityType.KeyProperty("ID", EdmDataTypes.Int32);
singlePrimitiveCollectionPropertyEntityType.Property("PrimitiveCollectionProp", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.Int32));
model.EntitySet("SinglePrimitiveCollectionPropertyEntityType", singlePrimitiveCollectionPropertyEntityType);
// Entity type with a single primitive collection property
var singleComplexCollectionPropertyEntityType = model.EntityType("SingleComplexCollectionPropertyEntityType");
singleComplexCollectionPropertyEntityType.KeyProperty("ID", EdmDataTypes.Int32);
singleComplexCollectionPropertyEntityType.Property("ComplexCollectionProp", DataTypes.CollectionOfComplex(complexType));
model.EntitySet("SingleComplexCollectionPropertyEntityType", singleComplexCollectionPropertyEntityType);
// Entity type with different property kinds
var differentPropertyKindsEntityType = model.EntityType("DifferentPropertyKindsEntityType");
differentPropertyKindsEntityType.KeyProperty("ID", EdmDataTypes.Int32);
differentPropertyKindsEntityType.Property("ComplexProp", complexType);
differentPropertyKindsEntityType.Property("PrimitiveCollectionProp", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.Int32));
differentPropertyKindsEntityType.Property("Int32Prop", EdmDataTypes.Int32);
differentPropertyKindsEntityType.Property("ComplexCollectionProp", DataTypes.CollectionOfComplex(complexType));
model.EntitySet("DifferentPropertyKindsEntityType", differentPropertyKindsEntityType);
#endregion Entity types
#region Complex types
// Empty complex type
var emptyComplexType = model.ComplexType("EmptyComplexType");
// Complex type with a single primitive property
var singlePrimitivePropertyComplexType = model.ComplexType("SinglePrimitivePropertyComplexType");
singlePrimitivePropertyComplexType.Property("Int32Prop", EdmDataTypes.Int32.Nullable());
// Complex type with all primitive properties
var allPrimitivePropertiesComplexType = model.ComplexType("AllPrimitivePropertiesComplexType");
allPrimitivePropertiesComplexType.Property("BoolProp", EdmDataTypes.Boolean);
allPrimitivePropertiesComplexType.Property("Int16Prop", EdmDataTypes.Int16);
allPrimitivePropertiesComplexType.Property("Int32Prop", EdmDataTypes.Int32);
allPrimitivePropertiesComplexType.Property("Int64Prop", EdmDataTypes.Int64);
allPrimitivePropertiesComplexType.Property("ByteProp", EdmDataTypes.Byte);
allPrimitivePropertiesComplexType.Property("SByteProp", EdmDataTypes.SByte);
allPrimitivePropertiesComplexType.Property("SingleProp", EdmDataTypes.Single);
allPrimitivePropertiesComplexType.Property("DoubleProp", EdmDataTypes.Double);
allPrimitivePropertiesComplexType.Property("DecimalProp", EdmDataTypes.Decimal());
allPrimitivePropertiesComplexType.Property("DateTimeOffsetProp", EdmDataTypes.DateTimeOffset());
allPrimitivePropertiesComplexType.Property("DurationProp", EdmDataTypes.Time());
allPrimitivePropertiesComplexType.Property("GuidProp", EdmDataTypes.Guid);
allPrimitivePropertiesComplexType.Property("StringProp", EdmDataTypes.String());
allPrimitivePropertiesComplexType.Property("BinaryProp", EdmDataTypes.Binary());
// Complex type with a single complex property
var singleComplexPropertyComplexType = model.ComplexType("SingleComplexPropertyComplexType");
singleComplexPropertyComplexType.Property("ComplexProp", complexType);
// Complex type with a single primitive collection property
var singlePrimitiveCollectionPropertyComplexType = model.ComplexType("SinglePrimitiveCollectionPropertyComplexType");
singlePrimitiveCollectionPropertyComplexType.Property("PrimitiveCollectionProp", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.Int32));
//.........这里部分代码省略.........
示例3: BuildTestModel
/// <summary>
/// Build a test model shared across several tests.
/// </summary>
/// <returns>Returns the test model.</returns>
public static EntityModelSchema BuildTestModel()
{
// The metadata model
EntityModelSchema model = new EntityModelSchema().MinimumVersion(ODataVersion.V4);
ComplexType addressType = model.ComplexType("Address")
.Property("Street", EdmDataTypes.String().Nullable())
.Property("Zip", EdmDataTypes.Int32);
EntityType officeType = model.EntityType("OfficeType")
.KeyProperty("Id", EdmDataTypes.Int32)
.Property("Address", DataTypes.ComplexType.WithDefinition(addressType));
EntityType officeWithNumberType = model.EntityType("OfficeWithNumberType")
.WithBaseType(officeType)
.Property("Number", EdmDataTypes.Int32);
EntityType cityType = model.EntityType("CityType")
.KeyProperty("Id", EdmDataTypes.Int32)
.Property("Name", EdmDataTypes.String().Nullable())
.NavigationProperty("CityHall", officeType)
.NavigationProperty("DOL", officeType)
.NavigationProperty("PoliceStation", officeType, true)
.StreamProperty("Skyline")
.Property("MetroLanes", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.String().Nullable()));
EntityType cityWithMapType = model.EntityType("CityWithMapType")
.WithBaseType(cityType)
.DefaultStream();
EntityType cityOpenType = model.EntityType("CityOpenType")
.WithBaseType(cityType)
.OpenType();
EntityType personType = model.EntityType("Person")
.KeyProperty("Id", EdmDataTypes.Int32);
personType = personType.NavigationProperty("Friend", personType);
EntityType employeeType = model.EntityType("Employee")
.WithBaseType(personType)
.Property("CompanyName", EdmDataTypes.String().Nullable());
EntityType managerType = model.EntityType("Manager")
.WithBaseType(employeeType)
.Property("Level", EdmDataTypes.Int32);
model.Add(new EntityContainer("DefaultContainer"));
model.EntitySet("Offices", officeType);
model.EntitySet("Cities", cityType);
model.EntitySet("Persons", personType);
model.Fixup();
// Fixed up models will have entity sets for all base entity types.
model.EntitySet("Employee", employeeType);
model.EntitySet("Manager", managerType);
EntityContainer container = model.EntityContainers.Single();
// NOTE: Function import parameters and return types must be nullable as per current CSDL spec
FunctionImport serviceOp = container.FunctionImport("ServiceOperation1")
.Parameter("a", EdmDataTypes.Int32.Nullable())
.Parameter("b", EdmDataTypes.String().Nullable())
.ReturnType(EdmDataTypes.Int32.Nullable());
container.FunctionImport("PrimitiveResultOperation")
.ReturnType(EdmDataTypes.Int32.Nullable());
container.FunctionImport("ComplexResultOperation")
.ReturnType(DataTypes.ComplexType.WithDefinition(addressType).Nullable());
container.FunctionImport("PrimitiveCollectionResultOperation")
.ReturnType(DataTypes.CollectionType.WithElementDataType(EdmDataTypes.Int32.Nullable()));
container.FunctionImport("ComplexCollectionResultOperation")
.ReturnType(DataTypes.CollectionType.WithElementDataType(DataTypes.ComplexType.WithDefinition(addressType).Nullable()));
// Overload with 0 Param
container.FunctionImport("FunctionImportWithOverload");
// Overload with 1 Param
container.FunctionImport("FunctionImportWithOverload")
.Parameter("p1", DataTypes.EntityType.WithDefinition(cityWithMapType));
// Overload with 2 Params
container.FunctionImport("FunctionImportWithOverload")
.Parameter("p1", DataTypes.EntityType.WithDefinition(cityType))
.Parameter("p2", EdmDataTypes.String().Nullable());
// Overload with 5 Params
container.FunctionImport("FunctionImportWithOverload")
.Parameter("p1", DataTypes.CollectionOfEntities(cityType))
.Parameter("p2", DataTypes.CollectionType.WithElementDataType(EdmDataTypes.String().Nullable()))
.Parameter("p3", EdmDataTypes.String().Nullable())
.Parameter("p4", DataTypes.ComplexType.WithDefinition(addressType).Nullable())
.Parameter("p5", DataTypes.CollectionType.WithElementDataType(DataTypes.ComplexType.WithDefinition(addressType).Nullable()));
return model;
//.........这里部分代码省略.........
示例4: BuildODataAnnotationTestModel
/// <summary>
/// Build a test model shared across several tests.
/// </summary>
/// <param name="addAnnotations">true if the annotations should be added upon construction; otherwise false.</param>
/// <returns>Returns the test model.</returns>
public static EntityModelSchema BuildODataAnnotationTestModel(bool addAnnotations)
{
// The metadata model with OData-specific annotations
// - default entity container annotation
// - HasStream annotation on entity type
// - MimeType annotation on primitive property
// - MimeType annotation on service operation
EntityModelSchema model = new EntityModelSchema().MinimumVersion(ODataVersion.V4);
ComplexType addressType = model.ComplexType("Address")
.Property("Street", EdmDataTypes.String().Nullable())
.Property("Zip", EdmDataTypes.Int32);
if (addAnnotations)
{
addressType.Properties.Where(p => p.Name == "Zip").Single().MimeType("text/plain");
}
EntityType personType = model.EntityType("PersonType")
.KeyProperty("Id", EdmDataTypes.Int32)
.Property("Name", EdmDataTypes.String())
.Property("Address", DataTypes.ComplexType.WithDefinition(addressType))
.StreamProperty("Picture")
.DefaultStream();
if (addAnnotations)
{
personType.Properties.Where(p => p.Name == "Name").Single().MimeType("text/plain");
}
model.Fixup();
// set the default container
EntityContainer container = model.EntityContainers.Single();
model.EntitySet("People", personType);
// NOTE: Function import parameters and return types must be nullable as per current CSDL spec
FunctionImport serviceOp = container.FunctionImport("ServiceOperation1")
.Parameter("a", EdmDataTypes.Int32.Nullable())
.Parameter("b", EdmDataTypes.String().Nullable())
.ReturnType(EdmDataTypes.Int32.Nullable());
if (addAnnotations)
{
serviceOp.MimeType("img/jpeg");
}
return model;
}