• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# EdmVersion类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中EdmVersion的典型用法代码示例。如果您正苦于以下问题:C# EdmVersion类的具体用法?C# EdmVersion怎么用?C# EdmVersion使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EdmVersion类属于命名空间,在下文中一共展示了EdmVersion类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CsdlXElementComparer

        private void CsdlXElementComparer(IEnumerable<XElement> expectedCsdls, IEnumerable<XElement> actualCsdls, EdmVersion version)
        {
            var updatedExpectedCsdls = ModelBuilderHelpers.ReplaceCsdlNamespacesForEdmVersion(expectedCsdls.ToArray(), version);
            var updatedActualCsdls = ModelBuilderHelpers.ReplaceCsdlNamespacesForEdmVersion(actualCsdls.ToArray(), version);

            new ConstructiveApiCsdlXElementComparer().Compare(updatedExpectedCsdls.ToList(), updatedActualCsdls.ToList());
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:7,代码来源:ExpressionRoundTripTests.cs


示例2: InvalidEntitySetNameReference

        public static XElement[] InvalidEntitySetNameReference(EdmVersion edmVersion)
        {
            const string csdl =
@"<?xml version=""1.0"" encoding=""utf-16""?>
<Schema Namespace=""Bork"" Alias=""Self"" xmlns=""http://docs.oasis-open.org/odata/ns/edm"">
  <EntityType Name=""Entity1"">
    <Key>
        <PropertyRef Name=""Id"" />
    </Key>
    <Property Name=""Id"" Type=""Int32"" Nullable=""false""/>
    <Property Name=""OtherId"" Type=""Int32"" />
    <NavigationProperty Name=""Navigation"" Type=""Bork.Entity2"" Nullable=""false"" Partner=""Navigation"" /> 
  </EntityType>
  <EntityType Name=""Entity2"">
    <Key>
        <PropertyRef Name=""Id"" />
    </Key>
    <Property Name=""Id"" Type=""Int32"" Nullable=""false""/>
    <Property Name=""OtherId"" Type=""Int32"" Nullable=""false""/> 
    <NavigationProperty Name=""Navigation"" Type=""Collection(Bork.Entity1)"" Partner=""Navigation"" /> 
  </EntityType>
  <EntityContainer Name=""Container"">
    <EntitySet Name=""Entity1_a"" EntityType=""Bork.Entity1"">
      <NavigationPropertyBinding Path=""Navigation"" Target=""Entity2_b"" />
    </EntitySet>
    <EntitySet Name=""Entity2_a"" EntityType=""Bork.Entity2"">
      <NavigationPropertyBinding Path=""Navigation"" Target=""Entity1_b"" />
    </EntitySet>
  </EntityContainer>
</Schema>";
            return FixUpWithEdmVersion(csdl, edmVersion);
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:32,代码来源:ValidationTestModelBuilder.cs


示例3: Serialize

        /// <summary>
        /// Serializes the <paramref name="schema"/> in the specified <paramref name="csdlVersion"/> and returns it.
        /// </summary>
        /// <param name="csdlVersion">The CSDL version to use for serializing the entity model schema.</param>
        /// <param name="schema">The schema to serialize.</param>
        /// <returns>The serialized <paramref name="schema"/>.</returns>
        public IEnumerable<FileContents<XElement>> Serialize(EdmVersion csdlVersion, EntityModelSchema schema)
        {
            ExceptionUtilities.Assert(schema != null, "schema != null");

            // TODO: Can we inherit from the default implemenation of the CSDL content generator instead of doing this in a separate step?
            schema = this.ODataAnnotationConverter.ConvertToProductAnnotations(schema);
            return this.BaseEntityModelSchemaSerializer.Generate(csdlVersion, schema);
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:14,代码来源:EntityModelSchemaSerializer.cs


示例4: ParserSimpleIdentifierTypeReferenceCsdlSchemaCompliantTest

 public void ParserSimpleIdentifierTypeReferenceCsdlSchemaCompliantTest()
 {
     var edmVersions = new EdmVersion[] { EdmVersion.V40 };
     foreach (var edmVersion in edmVersions)
     {
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ConcurrencyModeTypes(edmVersion), edmVersion);
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.CollectionTypeTypeRefSimpleTypeCanHaveFacets(edmVersion), edmVersion);
     }
 }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:9,代码来源:EdmLibCsdlSchemaCompliantTests.cs


示例5: ParserOpenTypeSupportCsdlSchemaCompliantTest

 public void ParserOpenTypeSupportCsdlSchemaCompliantTest()
 {
     var edmVersions = new EdmVersion[] { EdmVersion.V40 };
     foreach (var edmVersion in edmVersions)
     {
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.OpenTypeSupportInV40(edmVersion), edmVersion);
         this.BasicXsdValidationTestForParserInputCsdl(ODataTestModelBuilder.ODataTestModelWithOpenType, edmVersion);
     }
 }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:9,代码来源:EdmLibCsdlSchemaCompliantTests.cs


示例6: OperationsWithReturnTypeOfPrimitiveDataTypeSchemasEdm

        public static IEdmModel OperationsWithReturnTypeOfPrimitiveDataTypeSchemasEdm(EdmVersion edmVersion)
        {
            var model = new EdmModel();
            foreach (var function in OperationTestModelBuilder.EdmFunctionsWithReturnTypePrimitiveDataType(edmVersion))
            {
                model.AddElement(function);
            }

            return model;
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:10,代码来源:OperationTestModelBuilder.cs


示例7: AllPrimitiveEdmTypes

        public static IEnumerable<IEdmPrimitiveTypeReference> AllPrimitiveEdmTypes(EdmVersion edmVersion, bool isNullable)
        {
            IEnumerable<IEdmPrimitiveTypeReference> primitiveTypes = AllNonSpatialPrimitiveEdmTypes(isNullable);
            if (edmVersion >= EdmVersion.V40)
            {
                primitiveTypes = primitiveTypes.Concat(AllSpatialEdmTypes(isNullable));
            }

            return primitiveTypes;
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:10,代码来源:ModelBuilder.cs


示例8: OperationsWith2ParametersSchemasEdm

        public static IEdmModel OperationsWith2ParametersSchemasEdm(EdmVersion edmVersion)
        {
            var model = new EdmModel();
            foreach (var operation in OperationTestModelBuilder.EdmOperationsWith2Parameters(edmVersion))
            {
                model.AddElement(operation);
            }

            return model;
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:10,代码来源:OperationTestModelBuilder.cs


示例9: ParserComplexTypeWithBaseTypeAbstractCsdlSchemaCompliantTest

 public void ParserComplexTypeWithBaseTypeAbstractCsdlSchemaCompliantTest()
 {
     var edmVersions = new EdmVersion[] { EdmVersion.V40 };
     foreach (var edmVersion in edmVersions)
     {
         this.BasicXsdValidationTestForParserInputCsdl(ModelBuilder.ComplexTypeWithBaseType(edmVersion), edmVersion);
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ComplexTypeBaseTypeSupportInV11(edmVersion), edmVersion);
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.EdmComplexTypeInvalidIsPolymorphic(edmVersion), edmVersion);
         this.BasicXsdValidationTestForParserInputCsdl(ValidationTestModelBuilder.ComplexTypeIsAbstractSupportInV40(edmVersion), edmVersion);
     }
 }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:11,代码来源:EdmLibCsdlSchemaCompliantTests.cs


示例10: GetCsdlFullNamespace

 public static XNamespace GetCsdlFullNamespace(EdmVersion csdlVersion)
 {
     if (csdlVersion == EdmVersion.V40)
     {
         return EdmConstants.EdmOasisNamespace;
     }
     else
     {
         throw new ArgumentOutOfRangeException("CSDL Schema Version is not supported: " + csdlVersion.ToString());
     }
 }
开发者ID:larsenjo,项目名称:odata.net,代码行数:11,代码来源:EdmLibCsdlContentGenerator.cs


示例11: ReplaceCsdlNamespacesForEdmVersion

 public static IEnumerable<XElement> ReplaceCsdlNamespacesForEdmVersion(XElement[] csdls, EdmVersion edmVersion)
 {
     var edmNamespace = EdmLibCsdlContentGenerator.GetCsdlFullNamespace(edmVersion);
     for (int i = 0; i < csdls.Count(); ++i)
     {
         if (edmNamespace != csdls[i].Name.Namespace)
         {
             csdls[i] = XElement.Parse(csdls[i].ToString().Replace(csdls[i].Name.Namespace.NamespaceName, edmNamespace.NamespaceName));
         }
     }
     return csdls;
 }
开发者ID:larsenjo,项目名称:odata.net,代码行数:12,代码来源:ModelBuilderHelpers.cs


示例12: GetEdmVersion

 public static EdmVersion GetEdmVersion(XNamespace edmNamespace)
 {
     var edmVersions = new EdmVersion[] { EdmVersion.V40 };
     foreach (var edmVersion in edmVersions)
     {
         if (GetCsdlFullNamespace(edmVersion) == edmNamespace)
         {
             return edmVersion;
         }
     }
     throw new ArgumentOutOfRangeException("The namespace is not a EDM namespace " + edmNamespace.NamespaceName);
 }
开发者ID:larsenjo,项目名称:odata.net,代码行数:12,代码来源:EdmLibCsdlContentGenerator.cs


示例13: SystemNamespace

        public static XElement[] SystemNamespace(EdmVersion edmVersion)
        {
            const string csdl =
@"<?xml version=""1.0"" encoding=""utf-16""?>
<Schema Namespace=""Edm"" Alias=""Self"" xmlns=""http://docs.oasis-open.org/odata/ns/edm"">
  <EntityType Name=""Clod"">
    <Key>
        <PropertyRef Name=""Id"" />
    </Key>
    <Property Name=""Id"" Type=""Int32"" Nullable=""false""/>
    <Property Name=""Bar"" Type=""Int32"" />
  </EntityType>
</Schema>";
            return FixUpWithEdmVersion(csdl, edmVersion);
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:15,代码来源:ValidationTestModelBuilder.cs


示例14: GenerateContentsWithoutDefinition

        private void GenerateContentsWithoutDefinition(EdmVersion edmVersion, IEdmModel definitionModel)
        {
            IEnumerable<EdmError> errors;
            var contentsWithoutDefinition = this.GetSerializerResult(definitionModel, edmVersion, out errors).Select(XElement.Parse);

            var stripTheseElements = new[] { "Term", "Annotations", "Annotation"};

            foreach (var contents in contentsWithoutDefinition)
            {
                contents.Descendants().Where(e => stripTheseElements.Contains(e.Name.LocalName)).Remove();

                string namespaceName = contents.Attribute("Namespace").Value;
                this.namespaceToContents.Add(namespaceName, contents);
            }
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:15,代码来源:VocabularyDefinitionCsdlGenerator.cs


示例15: ReplaceCsdlNamespaceForEdmVersion

 public static string ReplaceCsdlNamespaceForEdmVersion(string csdl, EdmVersion edmVersion)
 {
     var edmNamespace = EdmLibCsdlContentGenerator.GetCsdlFullNamespace(edmVersion);
     var xmlReader = XmlReader.Create(new StringReader(csdl));
     while (xmlReader.Read())
     {
         if (xmlReader.Name == "Schema")
         {
             break;
         }
     }
     if (xmlReader.EOF)
     {
         throw new ArgumentException("{0} is not a well formed CSDL.");
     }
     return csdl.Replace(xmlReader.NamespaceURI, edmNamespace.NamespaceName);
 }
开发者ID:larsenjo,项目名称:odata.net,代码行数:17,代码来源:ModelBuilderHelpers.cs


示例16: GenerateDefinitionCsdl

        public IEnumerable<XElement> GenerateDefinitionCsdl(EdmVersion edmVersion, IEdmModel definitionModel)
        {
            this.namespaceToContents = new Dictionary<string, XElement>();

            this.GenerateContentsWithoutDefinition(edmVersion, definitionModel);

            XNamespace ns = this.namespaceToContents.First().Value.Name.Namespace;
            foreach (var valueTerm in definitionModel.SchemaElements.OfType<IEdmValueTerm>())
            {
                XElement schema = this.FindOrCreateCorrespondingSchema(valueTerm.Namespace, ns);

                schema.Add(new XElement(ns + "Term",
                                        new XAttribute("Name", valueTerm.Name),
                                        this.GenerateTypeAttributes(valueTerm.Type)));
            }

            return this.namespaceToContents.Values.Where(fc => fc.HasElements);
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:18,代码来源:VocabularyDefinitionCsdlGenerator.cs


示例17: OkayPrimitiveTerm

        public static XElement[] OkayPrimitiveTerm(EdmVersion edmVersion)
        {
            var csdl1 =
@"<?xml version=""1.0"" encoding=""utf-16""?>
<Schema Namespace=""Vocab"" xmlns=""http://docs.oasis-open.org/odata/ns/edm"">
  <Term Name=""IntegerTerm"" Type=""Edm.Int64"" />
</Schema>
";
            var csdl2 =
@"<?xml version=""1.0"" encoding=""utf-16""?>
<Schema Namespace=""CSDL"" xmlns=""http://docs.oasis-open.org/odata/ns/edm"">
  <ComplexType Name=""MyComplex"">
    <Property Name=""ID"" Type=""Edm.Int32"" />
    <Annotation Term=""Vocab.IntegerTerm"" Int=""32"" />
  </ComplexType>
</Schema>";
            return FixUpWithEdmVersion(new string[] { csdl1, csdl2 }, edmVersion);
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:18,代码来源:ExpressionValidationTestModelBuilder.cs


示例18: GenerateApplicationCsdl

        public XElement GenerateApplicationCsdl(EdmVersion edmVerion, IEdmModel applicationModel)
        {
            XNamespace ns = this.DetermineXmlNamespace(edmVerion);
            var schema = new XElement(ns + "Schema", new XAttribute("Namespace", "Application.NS1"));

            IEnumerable<IEdmVocabularyAnnotatable> possiblyAnnotated = applicationModel.SchemaElements.OfType<IEdmEntityType>().Cast<IEdmVocabularyAnnotatable>()
                .Concat(applicationModel.SchemaElements.OfType<IEdmEntityContainer>().Cast<IEdmVocabularyAnnotatable>())
                .Concat(applicationModel.SchemaElements.OfType<IEdmEntityContainer>().SelectMany(c => c.EntitySets()).Cast<IEdmVocabularyAnnotatable>());

            foreach (var annotated in possiblyAnnotated.Where(e => e.VocabularyAnnotations(applicationModel).Any()))
            {
                var valueAnnotations = annotated.VocabularyAnnotations(applicationModel).OfType<IEdmValueAnnotation>();
                schema.Add(new XElement(
                                ns + "Annotations",
                                new XAttribute("Target", this.GetTargetPathFor(annotated, applicationModel)),
                                this.GenerateValueAnnotations(ns, valueAnnotations)));
            }

            return schema;
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:20,代码来源:VocabularyApplicationCsdlGenerator.cs


示例19: DuplicatePropertyName

        public static XElement[] DuplicatePropertyName(EdmVersion edmVersion)
        {
            var csdl =
@"<?xml version=""1.0"" encoding=""utf-16""?>
<Schema Namespace=""CollectionAtomic"" Alias=""Self"" xmlns=""http://docs.oasis-open.org/odata/ns/edm"">
  <ComplexType Name=""ComplexTypeA"">
    <Property Name=""Id"" Type=""Int32""/>
    <Property Name=""Collection"" Type=""Collection(Int32)""/>
    <Property Name=""Collection"" Type=""Collection(Int32)""/>
  </ComplexType>
  <EntityType Name=""ComplexTypeE"">
    <Key>
      <PropertyRef Name=""Id"" />
    </Key>
    <Property Name=""Id"" Type=""Edm.Int32"" Nullable=""false"" />
    <Property Name=""Collection"" Type=""Collection(Int32)""/>
    <Property Name=""Collection"" Type=""Collection(Int32)""/>
  </EntityType>
</Schema>";
            return FixUpWithEdmVersion(csdl, edmVersion);
        }
开发者ID:AlineGuan,项目名称:odata.net,代码行数:21,代码来源:ValidationTestModelBuilder.cs


示例20: SerializeAndVerifyAgainst

        private void SerializeAndVerifyAgainst(IEdmModel model, IEnumerable<XElement> expectedCsdls, EdmVersion version)
        {
            IEnumerable<XElement> actualCsdls = this.GetSerializerResult(model).Select(s => XElement.Load(new StringReader(s)));
            var updatedExpectedCsdls = ModelBuilderHelpers.ReplaceCsdlNamespacesForEdmVersion(expectedCsdls.ToArray(), version);
            var updatedActualCsdls = ModelBuilderHelpers.ReplaceCsdlNamespacesForEdmVersion(actualCsdls.ToArray(), version);

            this.CompareCsdls(updatedExpectedCsdls, updatedActualCsdls);
        }
开发者ID:larsenjo,项目名称:odata.net,代码行数:8,代码来源:ExpressionSerializationTests.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Effect类代码示例发布时间:2022-05-24
下一篇:
C# EdmPrimitiveTypeKind类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap