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();
|
using var db = _dbContextFactory.CreateDbContext();
|
||||||
var pagemodules = db.PageModule
|
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();
|
.Where(item => item.Module.SiteId == siteId).ToList();
|
||||||
if (pagemodules.Any())
|
if (pagemodules.Any())
|
||||||
{
|
{
|
||||||
|
@ -70,12 +71,16 @@ namespace Oqtane.Repository
|
||||||
PageModule pagemodule;
|
PageModule pagemodule;
|
||||||
if (tracking)
|
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);
|
.FirstOrDefault(item => item.PageModuleId == pageModuleId);
|
||||||
}
|
}
|
||||||
else
|
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);
|
.FirstOrDefault(item => item.PageModuleId == pageModuleId);
|
||||||
}
|
}
|
||||||
if (pagemodule != null)
|
if (pagemodule != null)
|
||||||
|
@ -90,7 +95,9 @@ namespace Oqtane.Repository
|
||||||
public PageModule GetPageModule(int pageId, int moduleId)
|
public PageModule GetPageModule(int pageId, int moduleId)
|
||||||
{
|
{
|
||||||
using var db = _dbContextFactory.CreateDbContext();
|
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);
|
.SingleOrDefault(item => item.PageId == pageId && item.ModuleId == moduleId);
|
||||||
if (pagemodule != null)
|
if (pagemodule != null)
|
||||||
{
|
{
|
||||||
|
@ -104,7 +111,9 @@ namespace Oqtane.Repository
|
||||||
public void DeletePageModule(int pageModuleId)
|
public void DeletePageModule(int pageModuleId)
|
||||||
{
|
{
|
||||||
using var db = _dbContextFactory.CreateDbContext();
|
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);
|
.SingleOrDefault(item => item.PageModuleId == pageModuleId);
|
||||||
_settings.DeleteSettings(EntityNames.PageModule, pageModuleId);
|
_settings.DeleteSettings(EntityNames.PageModule, pageModuleId);
|
||||||
db.PageModule.Remove(pageModule);
|
db.PageModule.Remove(pageModule);
|
||||||
|
@ -140,6 +149,7 @@ namespace Oqtane.Repository
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pageModule.Module.PermissionList = permissions?.ToList();
|
pageModule.Module.PermissionList = permissions?.ToList();
|
||||||
|
|
||||||
return pageModule;
|
return pageModule;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,8 +59,12 @@ namespace Oqtane.Models
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The <see cref="Module"/> itself.
|
/// The <see cref="Module"/> itself.
|
||||||
/// TODO: todoc - unclear if this is always populated
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Module Module { get; set; }
|
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