コード例 #1
0
        public void When_creating_a_filtered_query()
        {
            var queryOne = FilteredQuery.Make(_table);

            queryOne.ShouldNotBeNull();
            queryOne.Parameters.ShouldBeEmpty();

            var sql = queryOne.Compile();

            sql.ShouldBe(@"SELECT
    [Person].[Id] AS 'Id',
    [Person].[Name] AS 'Name',
    [Person].[Age] AS 'Age'
FROM [Person]
WHERE
    1 = 1;");
        }
コード例 #2
0
        public void When_adding_filter_to_a_delete_statement()
        {
            var query = FilteredQuery.Make(_table);

            query.AddClause <Person, string>(p => p.Name, Operator.Equal, "Foo", Formatter.AndClauseSeparator);
            query.Parameters.Count.ShouldBe(1);
            query.Parameters["Name1"].ShouldBe("Foo");

            var sql = query.Compile(
                Table.MakeOrGet <Person>(GenericSQLDialect.Instance, string.Empty).Delete);

            sql.ShouldBe(@"DELETE FROM [Person]
WHERE
    1 = 1
AND
    ([Name]=@Name1);");
        }
コード例 #3
0
        public void When_adding_not_in_clause()
        {
            var query = FilteredQuery.Make(_table);

            query.AddInClause <Person, string>(p => p.Name, Formatter.AndClauseSeparator, false, new[] { "Foo", "Bar" });
            query.Parameters.Count.ShouldBe(1);
            query.Parameters["Name1"].ShouldBe(new[] { "Foo", "Bar" });

            var sql = query.Compile();

            sql.ShouldBe(@"SELECT
    [Person].[Id] AS 'Id',
    [Person].[Name] AS 'Name',
    [Person].[Age] AS 'Age'
FROM [Person]
WHERE
    1 = 1
AND
    ([Name] NOT IN @Name1);");
        }
コード例 #4
0
        public void When_adding_equality_clause()
        {
            var query = FilteredQuery.Make(_table);

            query.AddClause <Person, long>(p => p.Id, Operator.Equal, 1, Formatter.AndClauseSeparator);
            query.Parameters.Count.ShouldBe(1);
            query.Parameters["Id1"].ShouldBe(1);

            var sql = query.Compile();

            sql.ShouldBe(@"SELECT
    [Person].[Id] AS 'Id',
    [Person].[Name] AS 'Name',
    [Person].[Age] AS 'Age'
FROM [Person]
WHERE
    1 = 1
AND
    ([Id]=@Id1);");
        }