Я использую Entity Framework 4 в своем проекте.Одним из основных требований является выборка данных из базы данных с использованием хранимой процедуры и зацикливание этих данных на уровне представления, а также связывание с выпадающим списком, управление сеткой и т. Д.вызов BLL и вызов BLL DAL
Примеры кода:
DAL:
namespace DAL.Repository
{
public class CountryRepository
{
public static IList GetCountry(string CountryId)
{
using(MyDBEntities context=new MyDBEntities())
{
// it calls SP in DB thru EF to fetch data
return context.GetCountry(CountryId).ToList();
}
}
}
}
BLL
namespace BLL
{
public class Country
{
public static IList GetCountry(string CountryId)
{
return DAL.Repository.CountryRepository.GetCountry(CountryId);
}
}
}
PL
ddlCountry.DataTextField = "CountryName";
ddlCountry.DataValueField = "CountryId";
ddlCountry.DataSource= BLL.Country.GetCountry(string.Empty);
ddlCountry.DataBind();
* Здесь переплет работает нормально.Но я не уверен, что это лучший вариант.Пожалуйста, предложите мне.
System.Collections.IEnumerator lst= BLL.Country.GetCountry(string.Empty).GetEnumerator();
while(lst.MoveNext())
{
string s = ((DAL.Entity.ORM.Country)(lst.Current)).Countryname;
/* This is the main issue. To get data from [current]
reference of [DAL.Entity.ORM.Country] is required.
It is strongly not good practice to keep reference
of DAL in PL. */
}
Каков наилучший способ извлечения данных из базы данных с использованием процедуры EF с сохранением и независимого использования этих данных в PL?
Безопасно ли использовать статический метод, который я использовал?
Пожалуйста, предложите мне.