internal EntityQueryBuilder(ISyntaxProvider syntax, EntityPersistentEnvironment environment, Type entityType) { m_builder = new StringBuilder(); m_syntax = syntax; m_environment = environment; m_entityType = entityType; m_metadata = EntityMetadataUnity.GetEntityMetadata(m_entityType); }
/// <summary> /// 构造实体对象。 /// </summary> /// <param name="entity">实体对象。</param> /// <param name="properties">属性数组。</param> /// <param name="values">值数组。</param> /// <param name="instanceName"></param> /// <param name="environment"></param> /// <returns></returns> private static IEntity ConstructEntity(IEntity entity, IProperty[] properties, PropertyValue[] values, string instanceName, EntityPersistentEnvironment environment) { entity.As <ISupportInitializeNotification>(s => s.BeginInit()); //循环所有属性进行赋值 for (int i = 0, n = properties.Length; i < n; i++) { entity.InitializeValue(properties[i], values[i]); } //设置状态 entity.SetState(EntityState.Unchanged); //设置 InstanceName 和 Environment entity.InitializeEnvironment(environment).InitializeInstanceName(instanceName); entity.As <ISupportInitializeNotification>(s => s.EndInit()); return(entity); }
internal EntityQueryBuilder(ISyntaxProvider syntax, EntityPersistentEnvironment environment, Type entityType, ParameterCollection parameters) : this(syntax, environment, entityType) { m_parameters = parameters; }