public void TestLinqDistinct()
{
var connectionString = GetConnectionString("TestLinqDistinct");
var context = new MyEntityContext(connectionString);
var entity1 = context.TestEntities.Create();
entity1.SomeString = "Apples";
entity1.SomeInt = 2;
var entity2 = context.TestEntities.Create();
entity2.SomeString = "Bananas";
entity2.SomeInt = 2;
var entity3 = context.TestEntities.Create();
entity3.SomeString = "Carrots";
entity3.SomeInt = 8;
var entity4 = context.TestEntities.Create();
entity4.SomeString = "Apples";
entity4.SomeInt = 10;
var entity5 = context.TestEntities.Create();
entity5.SomeString = "Apples";
entity5.SomeInt = 2;
context.SaveChanges();
var categories = context.TestEntities.Select(x => x.SomeString).Distinct().ToList();
Assert.AreEqual(3, categories.Count());
Assert.IsTrue(categories.Contains("Apples"));
Assert.IsTrue(categories.Contains("Bananas"));
Assert.IsTrue(categories.Contains("Carrots"));
}