示例#1
0
 public EntityPersister(InternalContext context)
 {
     this.context        = context;
     Database            = context.Database;
     entityQueryProvider = new EntityQueryProvider(context);
     queryable           = new QueryProvider(entityQueryProvider);
     environment         = context.Environment;
 }
示例#2
0
 /// <summary>
 /// 使用 <see cref="IDatabase"/> 对象初始化 <see cref="T:Lord.Data.Entity.EntityPersister`1"/> 类的新实例。
 /// </summary>
 /// <param name="database">一个 <see cref="IDatabase"/> 对象。</param>
 public EntityPersister(IDatabase database)
 {
     Database            = database;
     context             = new InternalContext(database);
     entityQueryProvider = new EntityQueryProvider(context);
     queryable           = new QueryProvider(entityQueryProvider);
     environment         = context.Environment;
 }
示例#3
0
 /// <summary>
 /// 使用实例名初始化 <see cref="T:Lord.Data.Entity.EntityPersister`1"/> 类的新实例。
 /// </summary>
 /// <param name="instanceName">实例名。</param>
 public EntityPersister(string instanceName = null)
 {
     metadata            = EntityMetadataUnity.GetEntityMetadata(GetEntityType());
     context             = new InternalContext(instanceName);
     Database            = context.Database;
     entityQueryProvider = new EntityQueryProvider(context);
     queryable           = new QueryProvider(entityQueryProvider);
     entityQueryProvider.InitializeInstanceName(instanceName);
     environment = context.Environment;
 }
        protected override Expression VisitConstant(ConstantExpression constantExpression)
        {
            if (_entityQueryProvider == null)
            {
                _entityQueryProvider
                    = (constantExpression.Value as IQueryable)?.Provider as IEntityQueryProvider;
            }

            return(constantExpression);
        }
示例#5
0
 /// <summary>
 /// 初始化 <see cref="QueryProvider"/> 类的新实例。
 /// </summary>
 /// <param name="provider"></param>
 public QueryProvider(IEntityQueryProvider provider)
 {
     entityQueryProvider = provider;
 }
示例#6
0
 public EntityQueryable([NotNull] IEntityQueryProvider provider, [NotNull] Expression expression)
     : base(
         Check.NotNull(provider, nameof(provider)),
         Check.NotNull(expression, nameof(expression)))
 {
 }
示例#7
0
 public EntityQueryable([NotNull] IEntityQueryProvider provider)
     : base(Check.NotNull(provider, nameof(provider)))
 {
 }
 private static EntityQueryable <TResult> _CreateEntityQueryable <TResult>(IEntityQueryProvider entityQueryProvider)
 => new EntityQueryable <TResult>(entityQueryProvider);
 private NavigationRewritingExpressionVisitor(
     EntityQueryModelVisitor queryModelVisitor, IEntityQueryProvider entityQueryProvider)
     : this(queryModelVisitor)
 {
     _entityQueryProvider = entityQueryProvider;
 }