من برای تزریق وابستگی استفاده کردم به درستی کار میکنه
ولی در یک موضوع به بن بست خوردم
public class EfOurServiceService : IOurServiceService
{
readonly IUnitOfWork _uow;
readonly IDbSet<OurService> _ourServices;
readonly IDbSet<OurServiceCategory> _ourServiceCategories;
public EfOurServiceService(IUnitOfWork uow)
{
_uow = uow;
_ourServices = _uow.Set<OurService>();
_ourServiceCategories = _uow.Set<OurServiceCategory>();
}
public IList GetMasterDetailsFilterLang(string language)
{
var query = (_ourServiceCategories
.Where(c => (c.Language == language))
.Select(
c =>
new
{
CatId=c.Id,
CatName=c.Title,
OurServices = c.OurServices
.Select(
o =>
new
{
ServId= o.Id,
ServName= o.Title
}
)
}
));
var ss = query.ToList();
//در اینجا که در لایه سرویس در پروژه ای جداگانه است به ایتمهای کوئری دسترسی کامل دارم
foreach (var master in ss)
{
var s = master.CatId;
foreach (var details in master.OurServices)
{
var cc = details.ServName;
}
}
return ss;
}
}
در اینجا که در لایه سرویس در پروژه ای جداگانه است به ایتمهای کوئری دسترسی کامل دارم
اما زمانی که در پروژه UI که وب سایت Webform قرار داره به شکل زیر از این متود استفاده میکنم :
public string CreateServiceMnu()
{
var ds = OurServiceService.GetMasterDetailsFilterLang(_LangSar);
foreach (var master in ds)
{
var s = master.CatId;
foreach (var details in master.OurServices)
{
var cc = details.ServName;
}
}
return string.Empty;
}
اما به Propertyها دسترسی ندارم : از IList استفاده کردم (پر میشه اما قابل دسترس نیست)
نمیدونم دلیلش چیه ؟
تو لایه Service به Propertyها دسترسی دارم اما در لایه UI که وابستگیها تزریق میشه Propertyها قابل دسترس نیست.