Exemple #1
0
        protected override void InitData()
        {
            base.InitData();

            // InitData一般用于当数据表没有数据时添加一些默认数据,该实体类的任何第一次数据库操作都会触发该方法,默认异步调用
            // Meta.Count是快速取得表记录数
            if (Meta.Count > 0)
            {
                return;
            }

            // 需要注意的是,如果该方法调用了其它实体类的首次数据库操作,目标实体类的数据初始化将会在同一个线程完成
            if (XTrace.Debug)
            {
                XTrace.WriteLine("开始初始化{0}[{1}]数据……", typeof(TEntity).Name, Meta.Table.DataTable.DisplayName);
            }

            // 配套的分类
            //EntityCategory<TCategory>.Meta.WaitForInitData();
            var cat = EntityCategory <TCategory> .FindAllWithCache().ToList().FirstOrDefault();

            var des = typeof(TEntity).GetCustomAttribute <DescriptionAttribute>();

            var entity = new TEntity();

            entity.CategoryID   = cat.ID;
            entity.CategoryName = cat.Name;
            entity.Title        = des.Description + "1";
            entity.Insert();

            //entity.Title = des.Description + "2";
            //entity.Insert();

            if (XTrace.Debug)
            {
                XTrace.WriteLine("完成初始化{0}[{1}]数据!", typeof(TEntity).Name, Meta.Table.DataTable.DisplayName);
            }
        }
Exemple #2
0
 public IEntityCategory FindByCode(String code)
 {
     return(EntityCategory <TEntity> .FindByCode(code));
 }
Exemple #3
0
 public IEntityCategory FindByName(String name)
 {
     return(EntityCategory <TEntity> .FindAllByName(name).ToList().FirstOrDefault());
 }
Exemple #4
0
 public virtual IEntityCategory FindByID(Int32 id)
 {
     return(EntityCategory <TEntity> .FindByID(id));
 }