public void FindWithTableWildcard() { var p1 = new PersonTableWildcard(1, "織田信長", new DateTime(1534, 6, 23), 160.34M, 50M, false, "天下布武"); var criteria = new PersonTableWildcard(); criteria.Name = "織田信長"; using (var t1 = _db.CreateTran()) { Assert.That(t1.FindOne(criteria, Tran.LoadMode.ReadOnly), Is.EqualTo(p1)); Assert.That(t1.LastExecutedSql, Is.EqualTo("SELECT * FROM (SELECT P.* FROM Persons P)V0_ WHERE name=" + N + "'織田信長'")); } }
public override bool Equals(object obj) { if (!(obj is PersonTableWildcard)) { return(false); } PersonTableWildcard person = (PersonTableWildcard)obj; //HasValue=FalseなNull許容型同士を比較するとnullになるので、Trueになるように一致条件を工夫した if ((this.Id == person.Id || (!this.IsDaimyou.HasValue && !person.IsDaimyou.HasValue)) && this.Name == person.Name && this.BirthDay == person.BirthDay && this.Height == person.Height && (this.Weight == person.Weight || (!this.IsDaimyou.HasValue && !person.IsDaimyou.HasValue)) && (this.IsDaimyou == person.IsDaimyou || (!this.IsDaimyou.HasValue && !person.IsDaimyou.HasValue)) && this.Remarks == person.Remarks) { return(true); } else { return(false); } }