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

C# EntityInfo类代码示例

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

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



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

示例1: ParseMemberNames

 public static IList<EntityKeyMemberInfo> ParseMemberNames(EntityInfo entity, string names, bool ordered = false, Action<string> errorAction = null)
 {
     var specs = StringHelper.SplitNames(names);
       var mList = new List<EntityKeyMemberInfo>();
       foreach(var spec in specs) {
     bool desc = false;
     string[] parts;
     if(ordered) {
       parts = StringHelper.SplitNames(spec, ':');
       if(parts.Length > 2) {
     if(errorAction != null) errorAction(spec);
     continue;
       }
       string strDesc = parts.Length == 1 ? "asc" : parts[1];
       switch(strDesc.ToLowerInvariant()) {
     case "":  case "asc": desc = false; break;
     case "desc": desc = true; break;
     default:
       if(errorAction != null)
         errorAction(spec);
       continue;
       }//switch
     }//if ordered
     else
       parts = new string[] { spec, null };
     var member = entity.GetMember(parts[0]);
     if(member == null) {
       if(errorAction != null)
     errorAction(spec);
     }
     mList.Add(new EntityKeyMemberInfo(member, desc));
       }//foreach spec
       return mList;
 }
开发者ID:yuanfei05,项目名称:vita,代码行数:34,代码来源:EntityAttributeHelper.cs


示例2: Delete

        public static int Delete( int id, IEntity obj, EntityInfo entityInfo )
        {
            List<IInterceptor> ilist = MappingClass.Instance.InterceptorList;
            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].BeforDelete( obj );
            }

            int rowAffected = 0;
            rowAffected += deleteSingle( id, entityInfo );
            if (entityInfo.ChildEntityList.Count > 0) {
                foreach (EntityInfo info in entityInfo.ChildEntityList) {
                    rowAffected += deleteSingle( id, MappingClass.Instance.ClassList[info.Type.FullName] as EntityInfo );
                }
            }
            if (entityInfo.Parent != null) {
                IEntity objP = Entity.New( entityInfo.Parent.Type.FullName );
                rowAffected += deleteSingle( id, Entity.GetInfo( objP ) );
            }

            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].AfterDelete( obj );
            }

            CacheUtil.CheckCountCache( "delete", obj, entityInfo );

            return rowAffected;
        }
开发者ID:nust03,项目名称:xcore,代码行数:27,代码来源:DeleteOperation.cs


示例3: DeleteBatch

        public static int DeleteBatch( String condition, EntityInfo entityInfo )
        {
            if (strUtil.IsNullOrEmpty( condition )) {
                return 0;
            }

            String deleteSql = new SqlBuilder( entityInfo ).GetDeleteSql( condition );
            logger.Info(LoggerUtil.SqlPrefix+ "delete sql : " + deleteSql );

            List<IInterceptor> ilist = MappingClass.Instance.InterceptorList;
            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].BeforDeleteBatch( entityInfo.Type, condition );
            }

            IDbCommand cmd = DataFactory.GetCommand( deleteSql, DbContext.getConnection( entityInfo ) );
            int rowAffected = cmd.ExecuteNonQuery();
            logger.Info( "delete : " + rowAffected + " records affected" );
            cmd.Connection.Close();

            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].AfterDeleteBatch( entityInfo.Type, condition );
            }

            // update cache  timestamp
            CacheTime.updateTable( entityInfo.Type );

            return rowAffected;
        }
开发者ID:nust03,项目名称:xcore,代码行数:28,代码来源:DeleteOperation.cs


示例4: AddDeleteStatements

        private void AddDeleteStatements(IEntity entity, EntityInfo entityInfo)
        {
            foreach (var valueInfo in entityInfo.Values)
            {
                foreach (var value in entity.GetValues(valueInfo))
                {
                    var builder = new ComplexCommandBuilder();
                    var idParameter = value.Id.ToParameter();
                    builder.AddParameter(idParameter);
                    var whereClause = string.Format("{0}.{1} = {2}", valueInfo.Name, valueInfo.Identifer.Name, idParameter.Name);
                    var statement = new DeleteStatement(valueInfo.Name, whereClause);
                    builder.AddStatement(statement);
                    Add(builder);
                }
            }

            foreach (var childInfo in entityInfo.Children)
            {
                foreach (var child in entity.GetChildren(childInfo))
                {
                    var builder = new ComplexCommandBuilder();
                    var idParameter = child.Id.ToParameter();
                    builder.AddParameter(idParameter);
                    var whereClause = string.Format("{0}.{1} = {2}", childInfo.Name, childInfo.Identifier.Name, idParameter.Name);
                    var statement = new DeleteStatement(childInfo.Name, whereClause);
                    builder.AddStatement(statement);

                    AddDeleteStatements(child, childInfo);
                    Add(builder);
                }
            }
        }
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:32,代码来源:PersistEntitiesBatch.cs


示例5: Update

        private static Result Update( IEntity obj, EntityInfo entityInfo ) {
            Result result = Validator.Validate( obj, "update" );
            if (result.IsValid == false) return result;

            List<IInterceptor> ilist = MappingClass.Instance.InterceptorList;
            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].BeforUpdate( obj );
            }

            updateSingle( obj, entityInfo );
            if (entityInfo.Parent != null) {
                IEntity objParent = Entity.New( entityInfo.Parent.Type.FullName );
                setParentValueFromChild( objParent, obj );
                updateSingle( objParent, Entity.GetInfo( objParent ) );
            }
            CacheUtil.CheckCountCache( "insert", obj, entityInfo );


            for (int i = 0; i < ilist.Count; i++) {
                ilist[i].AfterUpdate( obj );
            }
            result.Info = obj;

            // update cache  timestamp
            CacheTime.updateTable( entityInfo.Type );

            return result;
        }
开发者ID:mfz888,项目名称:xcore,代码行数:28,代码来源:UpdateOperation.cs


示例6: LinqCommand

        public EntityInfo TargetEntity; //for delete, insert, update

        #endregion Fields

        #region Constructors

        public LinqCommand(EntityQuery query, LinqCommandType commandType, LinqCommandKind kind, EntityInfo targetEntity)
        {
            Kind = kind;
              CommandType = commandType;
              Query = query;
              TargetEntity = targetEntity;
        }
开发者ID:yuanfei05,项目名称:vita,代码行数:13,代码来源:LinqCommand.cs


示例7: toString

 public static string toString(EntityInfo entityInfo)
 {
     entity = entityInfo.getName + " = {\n";
     addGenericAttributes(entityInfo);
     addComponentsAttributes(entityInfo);
     return entity + "\n},";
 }
开发者ID:Raysangar,项目名称:BadPrincess-LevelEditor,代码行数:7,代码来源:EntityInfoTranslator.cs


示例8: Create

 public static EntityMemberMask Create(EntityInfo entity, string propertiesOrGroups)
 {
     var invalidNames = new StringList();
       var mask = new EntityMemberMask(propertiesOrGroups, entity);
       var props = propertiesOrGroups.SplitNames(',', ';');
       foreach (var name in props) {
     //first try member
     if (string.IsNullOrWhiteSpace(name))
       continue;
     var grp = entity.GetPropertyGroup(name);
     if (grp != null) {
       foreach (var m in grp.Members)
     mask.Set(m);
       continue;
     }
     var member = entity.GetMember(name);
     if (member != null) {
       mask.Set(member);
       continue;
     }
     //name is invalid
     invalidNames.Add(name);
       }
       if (invalidNames.Count > 0)
     Util.Throw("Properties/subgroups [{0}] not found in entity {1}.", string.Join(",", invalidNames), entity.EntityType);
       return mask;
 }
开发者ID:yuanfei05,项目名称:vita,代码行数:27,代码来源:EntityMemberMask.cs


示例9: EntityRelationSide

 /// <summary>
 ///     Initializes a new instance of the <see cref="T:System.Object" /> class.
 /// </summary>
 public EntityRelationSide(EntityInfo entity, NavigationPropertyEntityInfo property, NavigationType navigationType, SimplePropertyEntityInfo[] keyColumns)
 {
     Property = property;
     NavigationType = navigationType;
     KeyColumns = keyColumns;
     Entity = entity;
 }
开发者ID:HedinRakot,项目名称:Zierer,代码行数:10,代码来源:EntityRelationSide.cs


示例10: AddRootCommandBuilder

 private void AddRootCommandBuilder(EntityInfo entityInfo)
 {
     var builder = new ComplexCommandBuilder();
     builder.AddStatement(new CreateTableStatement(entityInfo));
     
     Add(builder);
 }
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:7,代码来源:InitializeTypeBatch.cs


示例11: BuildCrudSelectAllPagedCommand

 public EntityCommand BuildCrudSelectAllPagedCommand(EntityInfo entity)
 {
     var cmd = AddCommand(entity.Name + "_SelectAllPaged", "Selects all entities.", EntityCommandKind.SelectAllPaged, entity);
       cmd.Parameters.Add(new EntityCommandParameter("__skiprows", typeof(int), 0, 0));
       cmd.Parameters.Add(new EntityCommandParameter("__maxrows", typeof(int), 0, int.MaxValue));
       return cmd;
 }
开发者ID:yuanfei05,项目名称:vita,代码行数:7,代码来源:EntityCommandBuilder.cs


示例12: SelectStatement

        public SelectStatement(EntityInfo entityInfo, string rootName, string rootIdAlias, string orderByClause)
        {
            if (entityInfo.IsRoot)
            {
                builder.AppendFormat("select distinct {0}.* from {0}", entityInfo.Name);
                if (!string.IsNullOrEmpty(rootName) && !string.IsNullOrEmpty(rootIdAlias))
                    builder.AppendFormat(" inner join {0} on {0}.{1} = {2}.{3}", rootName, rootIdAlias, entityInfo.Name, entityInfo.Identifier.Name);
                if (!string.IsNullOrEmpty(orderByClause))
                    builder.AppendFormat(" order by {0}", orderByClause);
                builder.Append(";");
            }
            else
            {
                builder.AppendFormat("select distinct {0}.* from {0}", entityInfo.Name);

                var previousName = entityInfo.Name;
                var previousIdName = entityInfo.Identifier.Name;
                var parent = entityInfo.Parent;
                while (parent != null)
                {
                    builder.AppendFormat(" inner join {0} on {0}.Id = {1}.Parent", parent.Name, previousName);
                    previousName = parent.Name;
                    previousIdName = parent.Identifier.Name;
                    parent = parent.Parent;
                }

                if (!string.IsNullOrEmpty(rootName) && !string.IsNullOrEmpty(rootIdAlias))
                    builder.AppendFormat(" inner join {0} on {0}.{1} = {2}.{3}", rootName, rootIdAlias, previousName, previousIdName);

                if (entityInfo.Sequence != null)
                    builder.AppendFormat(" order by {0}.{1}", entityInfo.Name, entityInfo.Sequence.Name);
            }
        }
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:33,代码来源:SelectStatement.cs


示例13: getInsertSql

        private static String getInsertSql( EntityInfo entityInfo )
        {
            String str = "insert into " + entityInfo.TableName + " (";
            String fStr = "";
            String vStr = ") values(";
            for (int i = 0; i < entityInfo.SavedPropertyList.Count; i++) {
                EntityPropertyInfo info = entityInfo.SavedPropertyList[i];

                if ((
                    ( /**/!DbConfig.Instance.IsAutoId || !(info.Name.ToLower() == "id") || (entityInfo.Parent != null))
                    && info.SaveToDB)
                    && (!info.IsList && !info.IsList)
                    )
                {
                    String col = info.ColumnName ?? "";
                    fStr = fStr + col + ", ";
                    vStr = vStr + entityInfo.Dialect.GetParameter( info.ColumnName ) + ", ";
                }
            }
            fStr = fStr.Trim().TrimEnd( ',' );
            vStr = vStr.Trim().TrimEnd( ',' );
            str = str + fStr + vStr + ")";
            logger.Info( LoggerUtil.SqlPrefix + entityInfo.Name + " InsertSql:" + str );
            return str;
        }
开发者ID:Boshin,项目名称:wojilu,代码行数:25,代码来源:InsertOperation.cs


示例14: Apply

 public override void Apply(EntityInfo victim)
 {
     if (victim != null)
     {
         victim.ReduceHealth(value * Time.deltaTime, DamageType.Effect);
     }
 }
开发者ID:JerethChampagne,项目名称:ArenaLegends,代码行数:7,代码来源:IBuffable.cs


示例15: OnStateLogicInit

 protected override void OnStateLogicInit(EntityInfo npc, long deltaTime)
 {
     AiStateInfo info = npc.GetAiStateInfo();
     info.Time = 0;
     info.HomePos = npc.GetMovementStateInfo().GetPosition3D();
     info.Target = 0;
     NotifyAiInitDslLogic(npc);
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:8,代码来源:AiLogic_Npc_User.cs


示例16: EntityCommand

 public EntityCommand(string commandName, string description, EntityCommandKind kind, EntityInfo entity, EntityKeyInfo selectKey = null)
     : this(commandName, description, kind)
 {
     TargetEntityInfo = entity;
       Area = entity.Area;
       TargetEntityType = entity.EntityType;
       SelectKey = selectKey;
 }
开发者ID:yuanfei05,项目名称:vita,代码行数:8,代码来源:EntityCommand.cs


示例17: CreateTableStatement

        public CreateTableStatement(EntityInfo entityInfo)
            : this(entityInfo.Name)
        {
            AddColumns(entityInfo.Elements);

            foreach (var dataType in entityInfo.DataTypes)
                AddColumns(dataType.Elements);
        }
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:8,代码来源:CreateTableStatement.cs


示例18: findByIdFromChild

        // TODO: performance
        private static IEntity findByIdFromChild( long id, EntityInfo entityInfo ) {
            foreach (EntityInfo ei in entityInfo.ChildEntityList) {
                IEntity result = ObjectDB.FindById( id, new ObjectInfo( ei ) );
                if (result != null) return result;

            }
            return null;
        }
开发者ID:2014AmethystCat,项目名称:wojilu,代码行数:9,代码来源:FindByIdOperation.cs


示例19: IdleHandler

 private void IdleHandler(EntityInfo npc, long deltaTime)
 {
     AiStateInfo info = npc.GetAiStateInfo();
     info.Time += deltaTime;
     if (info.Time > 100) {
         info.Time = 0;
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:8,代码来源:AiLogic_Npc_User.cs


示例20: Awake

 void Awake()
 {
     if (eInfo == null)
     {
         // Make a reference to the EntityInfo of this Buffmanager's specific character.
         eInfo = GetComponent<EntityInfo>();
     }
 }
开发者ID:JerethChampagne,项目名称:ArenaLegends,代码行数:8,代码来源:BuffManager.cs



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C# EntityInstanceContext类代码示例发布时间:2022-05-24
下一篇:
C# EntityId类代码示例发布时间: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