• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# EntityMode类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中EntityMode的典型用法代码示例。如果您正苦于以下问题:C# EntityMode类的具体用法?C# EntityMode怎么用?C# EntityMode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EntityMode类属于命名空间,在下文中一共展示了EntityMode类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CheckEntityMode

		private static void CheckEntityMode(EntityMode entityMode)
		{
			if (EntityMode.Poco != entityMode)
			{
				throw new ArgumentOutOfRangeException("entityMode", "Unhandled EntityMode : " + entityMode);
			}
		}
开发者ID:tkellogg,项目名称:NHibernate3-withProxyHooks,代码行数:7,代码来源:CustomPersister.cs


示例2: FindType

        public static Type FindType(string clazz, ISession session, EntityMode entityMode) {
            if(IsDebugEnabled)
                log.Debug("인스턴싱할 엔티티 형식을 찾습니다... clazz=[{0}], entityMode=[{1}]", clazz, entityMode);

            var result = session.SessionFactory.GetEntityType(clazz, entityMode);

            if(result != null) {
                // lock(_syncLock)
                return _entityTypeCache.GetOrAdd(clazz, result);
            }

            foreach(var assembly in AppDomain.CurrentDomain.GetAssemblies()) {
                result = assembly.GetType(clazz, false, true);

                if(result != null) {
                    return _entityTypeCache.GetOrAdd(clazz, result);
                    //lock(_syncLock)
                    //    _entityTypeCache.AddValue(clazz, result);

                    //return result;
                }
            }

            return _entityTypeCache.GetOrAdd(clazz, result);
        }
开发者ID:debop,项目名称:NFramework,代码行数:25,代码来源:ProxyInterceptorBase.cs


示例3: Instantiate

        public override object Instantiate(string clazz, EntityMode entityMode, object id)
        {
            if (entityMode == EntityMode.Poco)
            {
                Type type = this.typeResolver.ResolveType(clazz);

                if (type != null)
                {
                    if (type.GetConstructors().Any(constructor => constructor.GetParameters().Any()))
                    {
                        try
                        {
                            object instance = ObjectFactory.GetInstance(type);

                            this.session.SessionFactory
                                    .GetClassMetadata(clazz)
                                    .SetIdentifier(instance, id, entityMode);
                            return instance;
                        }
                        catch (Exception exception)
                        {
                            Console.WriteLine(exception);
                        }
                    }
                }
            }

            return base.Instantiate(clazz, entityMode, id);
        }
开发者ID:praneetrattan,项目名称:LinqToNHibernate,代码行数:29,代码来源:DependencyInjectionEntityInterceptor.cs


示例4: ToString

		/// <summary>
		/// 
		/// </summary>
		/// <param name="entity">an actual entity object, not a proxy!</param>
		/// <param name="entityMode"></param>
		/// <returns></returns>
		public string ToString(object entity, EntityMode entityMode)
		{
			IClassMetadata cm = _factory.GetClassMetadata(entity.GetType());
			if (cm == null)
			{
				return entity.GetType().FullName;
			}

			IDictionary<string, string> result = new Dictionary<string, string>();

			if (cm.HasIdentifierProperty)
			{
				result[cm.IdentifierPropertyName] =
					cm.IdentifierType.ToLoggableString(cm.GetIdentifier(entity, entityMode), _factory);
			}

			IType[] types = cm.PropertyTypes;
			string[] names = cm.PropertyNames;
			object[] values = cm.GetPropertyValues(entity, entityMode);

			for (int i = 0; i < types.Length; i++)
			{
				var value = values[i];
				if (Equals(LazyPropertyInitializer.UnfetchedProperty, value) || Equals(BackrefPropertyAccessor.Unknown, value))
				{
					result[names[i]] = value.ToString();
				}
				else
				{
					result[names[i]] = types[i].ToLoggableString(value, _factory);
				}
			}

			return cm.EntityName + CollectionPrinter.ToString(result);
		}
开发者ID:marchlud,项目名称:nhibernate-core,代码行数:41,代码来源:Printer.cs


示例5: GetTuplizerOrNull

		/// <summary> 
		/// Locate the contained tuplizer responsible for the given entity-mode.  If
		/// no such tuplizer is defined on this mapping, then return null. 
		/// </summary>
		/// <param name="entityMode">The entity-mode for which the caller wants a tuplizer. </param>
		/// <returns> The tuplizer, or null if not found. </returns>
		public virtual ITuplizer GetTuplizerOrNull(EntityMode entityMode)
		{
			EnsureFullyDeserialized();
			ITuplizer result;
			_tuplizers.TryGetValue(entityMode, out result);
			return result;
		}
开发者ID:marchlud,项目名称:nhibernate-core,代码行数:13,代码来源:EntityModeToTuplizerMapping.cs


示例6: IsEqual

		public override bool IsEqual(object x, object y, EntityMode entityMode, ISessionFactoryImplementor factory)
		{
			IEntityPersister persister = factory.GetEntityPersister(associatedEntityName);
			if (!persister.CanExtractIdOutOfEntity)
			{
				return base.IsEqual(x, y, entityMode);
			}

			object xid;
			
			if (x.IsProxy())
			{
				INHibernateProxy proxy = x as INHibernateProxy; 
				xid = proxy.HibernateLazyInitializer.Identifier;
			}
			else
			{
				xid = persister.GetIdentifier(x, entityMode);
			}

			object yid;
			
			if (y.IsProxy())
			{
				INHibernateProxy proxy = y as INHibernateProxy; 
				yid = proxy.HibernateLazyInitializer.Identifier;
			}
			else
			{
				yid = persister.GetIdentifier(y, entityMode);
			}

			return persister.IdentifierType.IsEqual(xid, yid, entityMode, factory);
		}
开发者ID:KaraokeStu,项目名称:nhibernate-core,代码行数:34,代码来源:EntityType.cs


示例7: CriteriaCompiled

        /// <summary>
        /// 
        /// </summary>
        /// <param name="rootAlias"></param>
        /// <param name="rootType"></param>
        /// <param name="matchMode"></param>
        /// <param name="entityMode"></param>
        /// <param name="instance"></param>
        /// <param name="classInfoProvider"></param>
        public CriteriaCompiled(string rootAlias, System.Type rootType, MatchMode matchMode, EntityMode entityMode,
                                object instance, Func<System.Type, IPersistentClassInfo> classInfoProvider)
        {
            
            if (rootAlias == null || rootAlias.Trim().Equals(string.Empty))
                throw new ArgumentException("The alias for making detached criteria cannot be empty or null", "rootAlias");

            if (rootType == null)
                throw new ArgumentNullException("rootType", "The type which can be used for maikng detached criteria cannot be null.");

            if (instance == null)
                throw new ArgumentNullException("instance", "The instance for building detached criteria cannot be null.");

            if (!rootType.IsInstanceOfType(instance))
                throw new ArgumentTypeException("The given instance for building detached criteria is not suitable for the given criteria type.", "instance", rootType, instance.GetType());

            this.matchMode = matchMode ?? MatchMode.Exact;
            this.entityMode = entityMode;
            this.instance = instance;
            this.classInfoProvider = classInfoProvider;

            this.relationshipTree = new RelationshipTree(rootAlias, rootType);
            this.criteria = DetachedCriteria.For(rootType, rootAlias);
            this.restrictions = new List<ICriterion>();
            this.Init();
        }
开发者ID:TheHunter,项目名称:NHibernate.Integration,代码行数:35,代码来源:CriteriaCompiled.cs


示例8: GetValues

		private object[] GetValues(object entity, EntityEntry entry, EntityMode entityMode, bool mightBeDirty, ISessionImplementor session)
		{
			object[] loadedState = entry.LoadedState;
			Status status = entry.Status;
			IEntityPersister persister = entry.Persister;

			object[] values;
			if (status == Status.Deleted)
			{
				//grab its state saved at deletion
				values = entry.DeletedState;
			}
			else if (!mightBeDirty && loadedState != null)
			{
				values = loadedState;
			}
			else
			{
				CheckId(entity, persister, entry.Id, entityMode);

				// grab its current state
				values = persister.GetPropertyValues(entity, entityMode);

				CheckNaturalId(persister, entry, values, loadedState, entityMode, session);
			}
			return values;
		}
开发者ID:juanplopes,项目名称:nhibernate,代码行数:27,代码来源:DefaultFlushEntityEventListener.cs


示例9: ToString

		/// <summary>
		/// 
		/// </summary>
		/// <param name="entity">an actual entity object, not a proxy!</param>
		/// <param name="entityMode"></param>
		/// <returns></returns>
		public string ToString(object entity, EntityMode entityMode)
		{
			IClassMetadata cm = _factory.GetClassMetadata(entity.GetType());
			if (cm == null)
			{
				return entity.GetType().FullName;
			}

			IDictionary<string, string> result = new Dictionary<string, string>();

			if (cm.HasIdentifierProperty)
			{
				result[cm.IdentifierPropertyName] =
					cm.IdentifierType.ToLoggableString(cm.GetIdentifier(entity, entityMode), _factory);
			}

			IType[] types = cm.PropertyTypes;
			string[] names = cm.PropertyNames;
			object[] values = cm.GetPropertyValues(entity, entityMode);

			for (int i = 0; i < types.Length; i++)
			{
				result[names[i]] = types[i].ToLoggableString(values[i], _factory);
			}

			return cm.EntityName + CollectionPrinter.ToString(result);
		}
开发者ID:hazzik,项目名称:nh-contrib-everything,代码行数:33,代码来源:Printer.cs


示例10: CacheKey

		/// <summary> 
		/// Construct a new key for a collection or entity instance.
		/// Note that an entity name should always be the root entity 
		/// name, not a subclass entity name. 
		/// </summary>
		/// <param name="id">The identifier associated with the cached data </param>
		/// <param name="type">The Hibernate type mapping </param>
		/// <param name="entityOrRoleName">The entity or collection-role name. </param>
		/// <param name="entityMode">The entity mode of the originating session </param>
		/// <param name="factory">The session factory for which we are caching </param>
		public CacheKey(object id, IType type, string entityOrRoleName, EntityMode entityMode, ISessionFactoryImplementor factory)
		{
			key = id;
			this.type = type;
			this.entityOrRoleName = entityOrRoleName;
			this.entityMode = entityMode;
			hashCode = type.GetHashCode(key, entityMode, factory);
		}
开发者ID:marchlud,项目名称:nhibernate-core,代码行数:18,代码来源:CacheKey.cs


示例11: DeepCopy

		public override object DeepCopy(object value, EntityMode entityMode, ISessionFactoryImplementor factory)
		{
			IExternalBlobConnection blobconn;
			byte[] identifier;
			if (this.ExtractLobData(value, out blobconn, out identifier))
				return CreateLobInstance(blobconn, identifier);
			return value;
		}
开发者ID:sebmarkbage,项目名称:calyptus.lob,代码行数:8,代码来源:AbstractExternalBlobType.cs


示例12: CollectionKey

 private CollectionKey(string role, object key, IType keyType, EntityMode entityMode, ISessionFactoryImplementor factory)
 {
     this.role = role;
     this.key = key;
     this.keyType = keyType;
     this.entityMode = entityMode;
     this.factory = factory;
     hashCode = GenerateHashCode(); //cache the hashcode
 }
开发者ID:zibler,项目名称:zibler,代码行数:9,代码来源:CollectionKey.cs


示例13: GetTuplizer

		/// <summary> Locate the tuplizer contained within this mapping which is responsible
		/// for the given entity-mode.  If no such tuplizer is defined on this
		/// mapping, then an exception is thrown.
		/// 
		/// </summary>
		/// <param name="entityMode">The entity-mode for which the caller wants a tuplizer.
		/// </param>
		/// <returns> The tuplizer.
		/// </returns>
		/// <throws>  HibernateException Unable to locate the requested tuplizer. </throws>
		public virtual ITuplizer GetTuplizer(EntityMode entityMode)
		{
			ITuplizer tuplizer = GetTuplizerOrNull(entityMode);
			if (tuplizer == null)
			{
				throw new HibernateException("No tuplizer found for entity-mode [" + entityMode + "]");
			}
			return tuplizer;
		}
开发者ID:pallmall,项目名称:WCell,代码行数:19,代码来源:EntityModeToTuplizerMapping.cs


示例14: FilterKey

		public FilterKey(string name, IEnumerable<KeyValuePair<string, object>> @params, IDictionary<string, IType> types, EntityMode entityMode)
		{
			filterName = name;
			foreach (KeyValuePair<string, object> me in @params)
			{
				IType type = types[me.Key];
				filterParameters[me.Key] = new TypedValue(type, me.Value, entityMode);
			}
		}
开发者ID:khaliyo,项目名称:Spring.net-NHibernate.net-Asp.net-MVC-DWZ-,代码行数:9,代码来源:FilterKey.cs


示例15: GetHashCode

		public override int GetHashCode(object x, EntityMode entityMode)
		{
			int hashCode = base.GetHashCode(x, entityMode);
			unchecked
			{
				hashCode = 31*hashCode + ((DateTime) x).Kind.GetHashCode();
			}
			return hashCode;
		}
开发者ID:Ruhollah,项目名称:nhibernate-core,代码行数:9,代码来源:AbstractDateTimeSpecificKindType.cs


示例16: Instantiate

        public override Object Instantiate(String clazz, EntityMode entityMode, Object id)
        {
            if (entityMode != EntityMode.Poco)
                return base.Instantiate(clazz, entityMode, id);

            var classMetadata = _session.SessionFactory.GetClassMetadata(clazz);
            var entityType = classMetadata.GetMappedClass(entityMode);
            var entity = classMetadata.Instantiate(id, entityMode);
            return AddPropertyChangedInterceptorProxyFactory.Create(entityType, entity);
        }
开发者ID:pasqualedante,项目名称:NHibernate.PropertyChanged,代码行数:10,代码来源:AddPropertyChangedInterceptor.cs


示例17: Instantiate

		public override object Instantiate(string clazz, EntityMode entityMode, object id)
		{
			logger.Debug("Instantiate: " + clazz + " " + entityMode + " " + id);
		    object instance = interceptor.Create(clazz, id);
		    if (instance != null)
		    {
		        Session.SessionFactory.GetClassMetadata(clazz).SetIdentifier(instance, id, entityMode);
		    }
		    return instance;
		}
开发者ID:rohancragg,项目名称:n2cms,代码行数:10,代码来源:NHInterceptor.cs


示例18: GetType

		private Type GetType(string clazz, EntityMode entityMode)
		{
			Type type = SessionFactory.GetClassMetadata(clazz)
										.GetMappedClass(entityMode);
			if (type == null)
			{
				throw new InvalidOperationException(string.Format("Cannot find the type {0}.", clazz));
			}
			return type;
		}
开发者ID:Mrding,项目名称:Ribbon,代码行数:10,代码来源:ComponentBehaviorInterceptor.cs


示例19: GetPropertyValues

		public virtual object[] GetPropertyValues(object component, EntityMode entityMode)
		{
			int len = Subtypes.Length;
			object[] result = new object[len];
			for (int i = 0; i < len; i++)
			{
				result[i] = GetPropertyValue(component, i);
			}
			return result;
		}
开发者ID:paulbatum,项目名称:nhibernate,代码行数:10,代码来源:CompositeCustomType.cs


示例20: Validate

        protected void Validate(object entity, EntityMode mode)
        {
            if (entity == null || mode != EntityMode.Poco)
                return;

            var validator = validatorFactory.GetValidator(entity.GetType());
            var result = validator != null ? validator.Validate(entity) : emptyValidationResult;
            if (!result.IsValid)
            {
                throw new ValidationException(result.Errors);
            }
        }
开发者ID:khaledm,项目名称:Presentations,代码行数:12,代码来源:EntityValidationInterceptor.cs



注:本文中的EntityMode类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# EntityProperties类代码示例发布时间:2022-05-24
下一篇:
C# EntityMetadata类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap