예제 #1
0
파일: CRUD.cs 프로젝트: radtek/SqlAccessor
        public void FindWithUnion()
        {
            var query = new Query <PersonUnion>();

            query.And(val.of("Id") == 0);

            using (var t1 = _db.CreateTran()) {
                var p1         = t1.FindOne(query);
                var comparison = new PersonUnion(0, "名無しの権兵衛", new DateTime(2001, 1, 1));
                Assert.That(p1, Is.EqualTo(comparison));
                Assert.That(t1.LastExecutedSql,
                            Is.EqualTo("SELECT * FROM (SELECT id AS Id,name AS Name,birthDay AS " +
                                       "BirthDay FROM Persons UNION SELECT 0," + N + "'名無しの権兵衛'," +
                                       "'2001-01-01')V0_ WHERE Id=0"));
            }
        }
예제 #2
0
    public override bool Equals(object obj)
    {
        if (!(obj is PersonUnion))
        {
            return(false);
        }
        PersonUnion person = (PersonUnion)obj;

        //HasValue=FalseなNull許容型同士を比較するとnullになるので、Trueになるように一致条件を工夫した
        if (this.Id == person.Id && this.Name == person.Name && this.BirthDay == person.BirthDay)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }