Beispiel #1
0
        public void EdmxRoundTripTestsEmptyConceptualModelsModel()
        {
            var model = new EdmModel();

            model.SetEdmxVersion(EdmConstants.EdmVersion4);
            this.EdmxRoundTripCheck(EdmxModelBuilder.EmptyConceptualModelsEdmx(), CsdlTarget.EntityFramework, model);
        }
Beispiel #2
0
        public void EdmxRoundTripTestsEmptyDataServicesModel()
        {
            var model = new EdmModel();

            model.SetEdmxVersion(EdmConstants.EdmVersion4);
            this.EdmxRoundTripCheck(EdmxModelBuilder.EmptyDataServicesEdmx(), CsdlTarget.OData, model);
        }
Beispiel #3
0
        public void EdmxRoundTripTestsInvalidNamespaceAndVersionEdmx()
        {
            var errors = new ExpectedEdmErrors()
            {
                { EdmErrorCode.InvalidVersionNumber, "EdmxParser_EdmxVersionMismatch" }
            };

            this.EdmxCheckForErrors(EdmxModelBuilder.NonMatchingNamespaceAndVersionEdmx(), errors);
        }
Beispiel #4
0
        public void EdmxRoundTripTestsInvalidDataServicesEdmx()
        {
            var errors = new ExpectedEdmErrors()
            {
                { EdmErrorCode.UnexpectedXmlElement, "XmlParser_UnexpectedRootElementNoNamespace" }
            };

            this.EdmxCheckForErrors(EdmxModelBuilder.InvalidDataServicesEdmx(), errors);
        }
Beispiel #5
0
        public void EdmxRoundTripTwoRuntimeEdmx()
        {
            var errors = new ExpectedEdmErrors()
            {
                { EdmErrorCode.UnexpectedXmlElement, "EdmxParser_BodyElement" }
            };

            this.EdmxCheckForErrors(EdmxModelBuilder.TwoRuntimeEdmx(), errors);
        }
Beispiel #6
0
        public void EdmxRoundTripTestsInvalidConceptualModelNamespaceEdmx()
        {
            var errors = new ExpectedEdmErrors()
            {
                { EdmErrorCode.UnexpectedXmlElement, "XmlParser_UnexpectedRootElementWrongNamespace" }
            };

            this.EdmxCheckForErrors(EdmxModelBuilder.InvalidConceptualModelNamespaceEdmx(), errors);
        }
Beispiel #7
0
        public void EdmxRoundTripTests_EdmxReferences()
        {
            string    mainEdmx;
            string    referencedEdmx1;
            string    referencedEdmx2;
            IEdmModel mainModel;

            EdmxModelBuilder.GetReferencedModelEdmx(out mainModel, out mainEdmx, out referencedEdmx1, out referencedEdmx2);
            IEnumerable <EdmError> errors;
            bool valid = mainModel.Validate(out errors);

            Assert.IsTrue(valid);

            // verify reading edmx:Reference
            List <IEdmReference> references = mainModel.GetEdmReferences().ToList();

            Assert.AreEqual(2, references.Count);
            Assert.AreEqual("VPCT", references[0].Includes.First().Alias);
            Assert.AreEqual("NS.Ref1", references[0].Includes.First().Namespace);

            // verify Uri in EdmReference
            string       uriString    = "http://addedUrl/addedEdm.xml";
            EdmReference newReference = new EdmReference(new Uri(uriString));

            Assert.AreEqual(uriString, EdmValueWriter.UriAsXml(newReference.Uri));

            // verify writing edmx:Reference
            // add a new <edmx:reference>
            newReference.AddInclude(new EdmInclude("adhoc_Alias", "adhoc_Namespace"));
            List <IEdmReference> newReferences = new List <IEdmReference>();

            newReferences.AddRange(references);
            newReferences.Add(newReference);
            mainModel.SetEdmReferences(newReferences);
            string actualEdmx = GetEdmx(mainModel, CsdlTarget.OData);

            // add new Include to verify: Namespace=""adhoc_Namespace"" Alias=""adhoc_Alias""
            mainEdmx = mainEdmx.Replace("  <edmx:DataServices>",
                                        @"  <edmx:Reference Uri=""http://addedUrl/addedEdm.xml"">
    <edmx:Include Namespace=""adhoc_Namespace"" Alias=""adhoc_Alias"" />
  </edmx:Reference>
  <edmx:DataServices>");

            // after deserialization & serialization, the alias'ed 'CT.Customer' becomes qualified name 'NS1.Customer',
            // so make some adjustments for verification:
            actualEdmx = actualEdmx.Replace("EntityType=\"NS1.Customer\"", "EntityType=\"CT.Customer\"");
            actualEdmx = actualEdmx.Replace("EntityType=\"NS.Ref1.VipCustomer\"", "EntityType=\"VPCT.VipCustomer\"");
            actualEdmx = actualEdmx.Replace("EntityType=\"NS.Ref2.VipCard\"", "EntityType=\"VPCD.VipCard\"");
            valid      = XElement.DeepEquals(XElement.Parse(mainEdmx), XElement.Parse(actualEdmx));
            Assert.IsTrue(valid, "Invalid actual edmx.");
        }
Beispiel #8
0
        public void EdmxRoundTripTestsUsingAliasInReferencedEdmx()
        {
            string    mainEdmx;
            string    referencedEdmx1;
            string    referencedEdmx2;
            IEdmModel mainModel;

            EdmxModelBuilder.GetReferencedModelEdmx(out mainModel, out mainEdmx, out referencedEdmx1, out referencedEdmx2);
            IEnumerable <EdmError> errors;
            bool valid = mainModel.Validate(out errors);

            Assert.IsTrue(valid);
            string actualEdmx = GetEdmx(mainModel, CsdlTarget.OData);

            // after deserialization & serialization, the alias'ed 'CT.Customer' becomes qualified name 'NS1.Customer',
            // so make some adjustments for verification:
            actualEdmx = actualEdmx.Replace("EntityType=\"NS1.Customer\"", "EntityType=\"CT.Customer\"");
            actualEdmx = actualEdmx.Replace("EntityType=\"NS.Ref1.VipCustomer\"", "EntityType=\"VPCT.VipCustomer\"");
            actualEdmx = actualEdmx.Replace("EntityType=\"NS.Ref2.VipCard\"", "EntityType=\"VPCD.VipCard\"");
            valid      = XElement.DeepEquals(XElement.Parse(mainEdmx), XElement.Parse(actualEdmx));
            Assert.IsTrue(valid, "Invalid actual edmx.");
        }
Beispiel #9
0
 public void EdmxRoundTripTestsEmptyDataServicesWithOtherAttributesEdmx()
 {
     this.EdmxRoundTripCheck(EdmxModelBuilder.EmptyDataServicesEdmx(), CsdlTarget.OData, this.GetEdmxParserResult(EdmxModelBuilder.EmptyDataServicesWithOtherAttributesEdmx()));
 }
Beispiel #10
0
        public void EdmxRoundTripTestsUsingAliasEdmx()
        {
            var model = this.GetEdmxParserResult(EdmxModelBuilder.UsingAliasEdmx());

            this.EdmxRoundTripCheck(EdmxModelBuilder.UsingAliasEdmx(), CsdlTarget.EntityFramework, model);
        }
Beispiel #11
0
        public void EdmxRoundTripTestsDataServicesToConceptualModels()
        {
            var model = this.GetEdmxParserResult(EdmxModelBuilder.SimpleDataServicesEdmx());

            this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleConceptualModelsEdmx(), CsdlTarget.EntityFramework, model);
        }
Beispiel #12
0
        public void EdmxRoundTripTestsSimpleDataServicesWithVersionAttributesModelToConceptualModels()
        {
            var model = EdmxModelBuilder.SimpleEdmx();

            this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleConceptualModelsEdmx(), CsdlTarget.EntityFramework, model);
        }
 public void EdmxRoundTripTestsSimpleConceptualModelsEdmx()
 {
     this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleConceptualModelsEdmx(), EdmxTarget.EntityFramework);
 }
 public void EdmxRoundTripTestsEmptyDataServicesEdmx()
 {
     this.EdmxRoundTripCheck(EdmxModelBuilder.EmptyDataServicesEdmx(), EdmxTarget.OData);
 }
Beispiel #15
0
        public void EdmxRoundTripTestsSimpleConceptualoMdelsModel()
        {
            var model = EdmxModelBuilder.SimpleEdmx();

            this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleConceptualModelsEdmx(), CsdlTarget.EntityFramework, model);
        }
        public void EdmxRoundTripTestsConceptualModelsToDataServices()
        {
            var model = this.GetEdmxParserResult(EdmxModelBuilder.SimpleConceptualModelsEdmx());

            this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleDataServicesEdmx(), EdmxTarget.OData, model);
        }
Beispiel #17
0
 public EdmModelWithClrTypesBuilder(EdmModelBuilder edmModelBuilder, EdmxModelBuilder edmxModelBuilder, ODataConnectionFactory connectionFactory)
 {
     _edmModelBuilder   = edmModelBuilder;
     _edmxModelBuilder  = edmxModelBuilder;
     _connectionFactory = connectionFactory;
 }
Beispiel #18
0
 public void EdmxRoundTripTestsSimpleDataServicesEdmx()
 {
     this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleDataServicesEdmx(), CsdlTarget.OData);
 }
Beispiel #19
0
        public void EdmxRoundTripTestsSimpleDataServicesModel()
        {
            var model = EdmxModelBuilder.SimpleEdmx();

            this.EdmxRoundTripCheck(EdmxModelBuilder.SimpleDataServicesEdmx(), CsdlTarget.OData, model);
        }
Beispiel #20
0
 public void EdmxRoundTripTestsEmptyConceptualModelsEdmx()
 {
     this.EdmxRoundTripCheck(EdmxModelBuilder.EmptyConceptualModelsEdmx(), CsdlTarget.EntityFramework);
 }
 public EdmModelWithClrTypesBuilder(EdmModelBuilder edmModelBuilder, EdmxModelBuilder edmxModelBuilder, ODataConnectionFactory connectionFactory)
 {
     _edmModelBuilder = edmModelBuilder;
     _edmxModelBuilder = edmxModelBuilder;
     _connectionFactory = connectionFactory;
 }