eager load Page associated to PageModule
This commit is contained in:
parent
03f081f3f4
commit
532890674e
|
@ -29,7 +29,8 @@ namespace Oqtane.Repository
|
|||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
var pagemodules = db.PageModule
|
||||
.Include(item => item.Module) // eager load modules
|
||||
.Include(item => item.Module) // eager load module
|
||||
.Include(item => item.Page) // eager load page
|
||||
.Where(item => item.Module.SiteId == siteId).ToList();
|
||||
if (pagemodules.Any())
|
||||
{
|
||||
|
@ -70,12 +71,16 @@ namespace Oqtane.Repository
|
|||
PageModule pagemodule;
|
||||
if (tracking)
|
||||
{
|
||||
pagemodule = db.PageModule.Include(item => item.Module) // eager load modules
|
||||
pagemodule = db.PageModule
|
||||
.Include(item => item.Module) // eager load module
|
||||
.Include(item => item.Page) // eager load page
|
||||
.FirstOrDefault(item => item.PageModuleId == pageModuleId);
|
||||
}
|
||||
else
|
||||
{
|
||||
pagemodule = db.PageModule.AsNoTracking().Include(item => item.Module) // eager load modules
|
||||
pagemodule = db.PageModule.AsNoTracking()
|
||||
.Include(item => item.Module) // eager load module
|
||||
.Include(item => item.Page) // eager load page
|
||||
.FirstOrDefault(item => item.PageModuleId == pageModuleId);
|
||||
}
|
||||
if (pagemodule != null)
|
||||
|
@ -90,7 +95,9 @@ namespace Oqtane.Repository
|
|||
public PageModule GetPageModule(int pageId, int moduleId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
var pagemodule = db.PageModule.Include(item => item.Module) // eager load modules
|
||||
var pagemodule = db.PageModule
|
||||
.Include(item => item.Module) // eager load module
|
||||
.Include(item => item.Page) // eager load page
|
||||
.SingleOrDefault(item => item.PageId == pageId && item.ModuleId == moduleId);
|
||||
if (pagemodule != null)
|
||||
{
|
||||
|
@ -104,7 +111,9 @@ namespace Oqtane.Repository
|
|||
public void DeletePageModule(int pageModuleId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
var pageModule = db.PageModule.Include(item => item.Module) // eager load modules
|
||||
var pageModule = db.PageModule
|
||||
.Include(item => item.Module) // eager load module
|
||||
.Include(item => item.Page) // eager load page
|
||||
.SingleOrDefault(item => item.PageModuleId == pageModuleId);
|
||||
_settings.DeleteSettings(EntityNames.PageModule, pageModuleId);
|
||||
db.PageModule.Remove(pageModule);
|
||||
|
@ -140,6 +149,7 @@ namespace Oqtane.Repository
|
|||
}
|
||||
}
|
||||
pageModule.Module.PermissionList = permissions?.ToList();
|
||||
|
||||
return pageModule;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,8 +59,12 @@ namespace Oqtane.Models
|
|||
|
||||
/// <summary>
|
||||
/// The <see cref="Module"/> itself.
|
||||
/// TODO: todoc - unclear if this is always populated
|
||||
/// </summary>
|
||||
public Module Module { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="Page"/> itself.
|
||||
/// </summary>
|
||||
public Page Page { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user