1

Simple.Data とその InMemoryAdapter を使用していくつかのテストを作成しています。以下のコードは、私のテストの 1 つです。テストの結果、「Atlanta」という値が 1 つ返されるはずですが、Atlanta が 2 回返されます。Distinct の InMemoryAdapter を間違って使用していないかどうか疑問に思っています。

var adapter = new InMemoryAdapter();
Database.UseMockAdapter(adapter);

var db = Database.Open();
db.ParentRegionList.Insert(Id: 1, RegionName: "Dublin");
db.ParentRegionList.Insert(Id: 2, RegionName: "Atlanta");
db.ParentRegionList.Insert(Id: 3, RegionName: "Atlanta");
db.ParentRegionList.Insert(Id: 4, RegionName: "Killarney");
db.ParentRegionList.Insert(Id: 5, RegionName: "Bournemouth");

var result = db.ParentRegionList.All()
    .Where(db.ParentRegionList.RegionName.Like("At%"))
    .Distinct()
    .Select(db.ParentRegionList.RegionName).Take(10)
    .ToScalarList<string>();

私も試しました:

var result = db.ParentRegionList.All()
    .Where(db.ParentRegionList.RegionName.Like("At%"))
    .Select(db.ParentRegionList.RegionName.Distinct()).Take(10)
    .ToScalarList<string>();
4

1 に答える 1