Допустим, у меня есть класс Location, который представляет местоположения.
public class Location
{
public int LocationID { get; set; }
public int JuridictionID { get; set; }
public int LocationName { get; set; }
}
Пример: Серебряный источник расположен в округе Монтгомери, который находится в штате Мэриленд, который находится в США.Таким образом, JuriditionID для Мэриленда будет LocationID для США и так далее.
public List<Location> SetHierarchyOfLocation(int JuridicitionID)
{
var list = new List<Location>();
if (JuridicitionID > 0)
{
while (JuridicitionID > 0)
{
var location = new Location();
location = GetLocationByID(JuridicitionID);
list.Add(location);
JuridicitionID = location.JuridictionID;
}
}
list.Reverse();
return list;
}
pubilc Location GetLocationByID(int LocationID)
{
return db.Locations.FirstOrDefault(l => l.LocationID == LocationID);
}
Это прекрасно работает.Но теперь я понимаю, что это приведет к множеству отдельных обращений к базе данных.
Но я не знаю, как написать хранимую процедуру , которая заменит это.Кто-нибудь может мне помочь???
Спасибо.