public void Node_Create_Person() { NodeSchema n = new NodeSchema(name: "person"); n.Attributes.Add(new Attribute(name: "FirstName", type: new AttributeText())); n.Attributes.Add(new Attribute(name: "LastName", type: new AttributeText())); n.Attributes.Add(new Attribute(name: "DateOfBirth", new AttributeDatum())); n.Edges.Add(new EdgeSchema(name: "likes")); n.Edges.Add(new EdgeSchema(name: "married")); n.Edges.Add(new EdgeSchema(name: "friend")); n.Edges[0].Constraints.Add(new Constraint(name: "person")); n.Edges[1].Constraints.Add(new Constraint(name: "person")); n.Edges[2].Constraints.Add(new Constraint(name: "person")); n.Edges[0].Attributes.Add(new Attribute(name: "rating", type: new AttributeEuro())); //object p1 = from p in n select p; NodeSchemaScript script = new NodeSchemaScript(); var serializer = new SerializerBuilder().Build(); var sw = new StringWriter(); serializer.Serialize(sw, n); var yaml = sw.ToString(); var deserializer = new DeserializerBuilder().IgnoreUnmatchedProperties().Build(); var r = deserializer.Deserialize <NodeSchema>(yaml); var sql = script.CreateScript(n); }
public void Node_Can_Deserialize_And_Create_SqlSchema() { var yaml = @"Version: 15.0.0.0 Name: person Attributes: - Name: FirstName Type: Text - Name: LastName Type: Text - Name: DateOfBirth Type: DateTime Edges: - Name: likes Constraints: - Name: person Attributes: - Name: rating Type: Integer - Name: married Constraints: - Name: person Attributes: [] - Name: friend Constraints: - Name: person Attributes: [] "; var deserializer = new DeserializerBuilder().IgnoreUnmatchedProperties().Build(); var r = deserializer.Deserialize <NodeSchema>(yaml); NodeSchemaScript script = new NodeSchemaScript(); var s = script.CreateScript(r); }
public void CreateEntityFromYamlWithCustomType() { // create some entities through built-in data provider var yaml = @"Version: 15.0.0.0 Name: persoon Attributes: - Name: BSN Type: elfproef - Name: periode Type: periode Edges: - Name: partner Constraints: - Name: persoon Attributes: - Name: periode Type: periode - Name: kind Constraints: - Name: persoon - Name: ouder Constraints: - Name: persoon "; var deserializer = new DeserializerBuilder().IgnoreUnmatchedProperties().Build(); var r = deserializer.Deserialize <NodeSchema>(yaml); NodeSchemaScript script = new NodeSchemaScript(); var s = script.CreateScript(r); Assert.True(s == @"CREATE TABLE persoon ( ID INTEGER PRIMARY KEY, BSN VARCHAR(10),periode_begin DATETIME,periode_eind DATETIME ) AS NODE; CREATE TABLE partner ( periode_begin DATETIME,periode_eind DATETIME CONSTRAINT EC_PARTNER CONNECTION ( persoon TO persoon ) ) AS EDGE; CREATE TABLE kind ( CONSTRAINT EC_KIND CONNECTION ( persoon TO persoon ) ) AS EDGE; CREATE TABLE ouder ( CONSTRAINT EC_OUDER CONNECTION ( persoon TO persoon ) ) AS EDGE; "); /* * * string connectionString = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=graph;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; * * using (SqlConnection connection = new SqlConnection(connectionString)) * { * SqlCommand command = new SqlCommand(s, connection); * //command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); * connection.Open(); * SqlDataReader reader = command.ExecuteReader(); * try * { * while (reader.Read()) * { * } * } * finally * { * // Always call Close when done reading. * reader.Close(); * } * } */ }