Пример #1
0
        public void Issue461_TypeHandlerWorksInConstructor()
        {
            SqlMapper.AddTypeHandler(new Issue461_BlargHandler());

            connection.Execute(@"CREATE TABLE #Issue461 (
                                      Id                int not null IDENTITY(1,1),
                                      SomeValue         nvarchar(50),
                                      SomeBlargValue    nvarchar(200),
                                    )");
            const string Expected = "abc123def";
            var          blarg    = new Blarg(Expected);

            connection.Execute(
                "INSERT INTO #Issue461 (SomeValue, SomeBlargValue) VALUES (@value, @blarg)",
                new { value = "what up?", blarg });

            // test: without constructor
            var parameterlessWorks = connection.QuerySingle <Issue461_ParameterlessTypeConstructor>("SELECT * FROM #Issue461");

            parameterlessWorks.Id.IsEqualTo(1);
            parameterlessWorks.SomeValue.IsEqualTo("what up?");
            parameterlessWorks.SomeBlargValue.Value.IsEqualTo(Expected);

            // test: via constructor
            var parameterDoesNot = connection.QuerySingle <Issue461_ParameterisedTypeConstructor>("SELECT * FROM #Issue461");

            parameterDoesNot.Id.IsEqualTo(1);
            parameterDoesNot.SomeValue.IsEqualTo("what up?");
            parameterDoesNot.SomeBlargValue.Value.IsEqualTo(Expected);
        }
Пример #2
0
    static void Main(string[] args)
    {
        // set up some example data
        var bars = new List <Blarg <SomeStatus> .Bar>();

        bars.Add(new Blarg <SomeStatus> .Bar {
            Code = "123", Status = SomeStatus.Open
        });
        bars.Add(new Blarg <SomeStatus> .Bar {
            Code = "234", Status = SomeStatus.Closed
        });
        bars.Add(new Blarg <SomeStatus> .Bar {
            Code = "345", Status = SomeStatus.Funky
        });
        bars.Add(new Blarg <SomeStatus> .Bar {
            Code = "456", Status = SomeStatus.Open
        });
        bars.Add(new Blarg <SomeStatus> .Bar {
            Code = "567", Status = SomeStatus.Funky
        });
        // create a Foo object
        Blarg <SomeStatus> .Foo foo = new Blarg <SomeStatus> .Foo
        {
            Bar    = bars,
            Status = SomeStatus.Open,
        };
        // now iterate over the Foo.BarsFilteredByStatus property
        // This will iterate over all Bar objects contained within Foo.Bar where Bar.Status equals Foo.Status
        foreach (var bar in foo.BarsFilteredByStatus)
        {
            Console.WriteLine(bar.Code);
        }
    }
 public Issue461_ParameterisedTypeConstructor(int id, string someValue, Blarg someBlargValue)
 {
     Id             = id;
     SomeValue      = someValue;
     SomeBlargValue = someBlargValue;
 }