Aizbāžam Linq?!
Sākam testēt Linq izteiksmes un nonācu līdz secinājumam, par ko nav padomāts 1.0 versijā Linq to Sql. Koda visvienkāršākajā gadījumā varētu izsaktīties apmēram šāds:
NorthwindDataContext db = new NorthwindDataContext();
db.Log = Console.Out;
var nearCustomers = db.Customers.Where (c=>c.Country == "Austria");
foreach (var nearCustomer in nearCustomers)
{
Console.WriteLine(nearCustomer.Display());
}
Un kā Jūs domājat, kā varētu notestēt šo kodu fiziski nepieskatories datu bāzei? Par laimi uzgāju vienu jaunieti, kas saskāris ar tādu pašu problēmu un par cik izsaktās ka puisim ir vairāk laika nekā man, piedāvā arī gatavu jau risinājumu šai problēmai :)
Jaunais kods varētu izskatīties šādi:
MockContext db = new MockContext(GetMockResults());
db.Log = Console.Out;
varnearCustomers = db.Customers.Where (c=>c.Country == "Austria");
foreach(varnearCustomer innearCustomers)
{
Console.WriteLine(nearCustomer.Display());
}
Nice, gaidam vai nu Entity Framework vai arī 1.1 versiju Linq to Sql bitiem.