Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 internal EntityQueryBuilder(ISyntaxProvider syntax, EntityPersistentEnvironment environment, Type entityType, ParameterCollection parameters)
     : this(syntax, environment, entityType)
 {
     m_parameters = parameters;
 }