dotnet-db-context/PoweredSoft.DbContext.EntityFramework/DbQueryService.cs

44 lines
1.1 KiB
C#
Raw Permalink Normal View History

2021-09-20 10:21:48 -04:00
using PoweredSoft.DbContext.Core;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace PoweredSoft.DbContext.EntityFramework
{
public class DbQueryService : IDbQueryService
{
public DbQueryService(DbQuery dbQuery)
{
DbQuery = dbQuery;
}
public Expression Expression => ((IQueryable)DbQuery).Expression;
public Type ElementType => ((IQueryable)DbQuery).ElementType;
public IQueryProvider Provider => ((IQueryable)DbQuery).Provider;
protected DbQuery DbQuery { get; }
public IDbQueryService AsNoTracking()
{
var efQuery = DbQuery.AsNoTracking();
var ret = new DbQueryService(efQuery);
return ret;
}
public IEnumerator GetEnumerator() => ((IQueryable)DbQuery).GetEnumerator();
public IDbQueryService Include(string path)
{
var efQuery = DbQuery.Include(path);
var ret = new DbQueryService(efQuery);
return ret;
}
}
}