Difference between revisions of "Linking Tables in Repository"
From Logic Wiki
(Created page with "== Include / ThenInclude == <pre> public Proposal GetProposal(long proposalId) { var retVal1 = _vdsContext.vds_Proposal .Include(k => k.Vd...") |
|||
| Line 31: | Line 31: | ||
modelBuilder.Entity<PossibleAnswer>().HasQueryFilter(p => !p.IsDeleted); | modelBuilder.Entity<PossibleAnswer>().HasQueryFilter(p => !p.IsDeleted); | ||
} | } | ||
| + | </pre> | ||
| + | === Ignoring Query Filters === | ||
| + | <pre> | ||
| + | blogs = db.Blogs | ||
| + | .Include(b => b.Posts) | ||
| + | .IgnoreQueryFilters() | ||
| + | .ToList(); | ||
</pre> | </pre> | ||
-------------- | -------------- | ||
See [[AutoMapper]] | See [[AutoMapper]] | ||
Latest revision as of 12:04, 17 September 2019
Include / ThenInclude
public Proposal GetProposal(long proposalId)
{
var retVal1 = _vdsContext.vds_Proposal
.Include(k => k.VdsProposalSection)
.ThenInclude(k => k.Section)
.Include(k => k.VdsProposalSection)
.ThenInclude(k => k.ProposalQuestion)
.ThenInclude(k => k.Question)
.ThenInclude(k => k.QuestionType)
.Include(k => k.VdsProposalSection)
.ThenInclude(k => k.ProposalQuestion)
.ThenInclude(k => k.ProposalQuestionAnswer)
.ThenInclude(k => k.PossibleAnswer)
.Where(t => t.ProposalId == proposalId && t.IsDeleted == false);
return retVal1.FirstOrDefault();
}
Eliminating Soft Deletes
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Proposal>().HasQueryFilter(p => !p.IsDeleted);
modelBuilder.Entity<ProposalQuestion>().HasQueryFilter(p => !p.IsDeleted);
modelBuilder.Entity<ProposalQuestionAnswer>().HasQueryFilter(p => !p.IsDeleted);
modelBuilder.Entity<Question>().HasQueryFilter(p => !p.IsDeleted);
modelBuilder.Entity<QuestionType>().HasQueryFilter(p => !p.IsDeleted);
modelBuilder.Entity<PossibleAnswer>().HasQueryFilter(p => !p.IsDeleted);
}
Ignoring Query Filters
blogs = db.Blogs
.Include(b => b.Posts)
.IgnoreQueryFilters()
.ToList();
See AutoMapper