public IEntityTitle FindTitle(int id) { var provider = ModelProvider.Get(this.GetType()); return(provider.TitleFactory.FindByID(id)); }
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); } var fn = "../InitData/{0}.json".F(Meta.TableName).GetFullPath(); if (File.Exists(fn)) { if (XTrace.Debug) { XTrace.WriteLine("使用数据初始化文件【{0}】初始化{1}[{2}]数据……", fn, typeof(TEntity).Name, Meta.Table.DataTable.DisplayName); } var list = EntityList <TEntity> .FromJson(File.ReadAllText(fn, Encoding.UTF8)); var queue = new Queue <TEntity>(list); var provider = ModelProvider.Get <TEntity>(); var model = Model.FindByName(provider.Name); var chn = Channel.FindBySuffixAndModel(null, model.ID); while (queue.Count > 0) { var item = queue.Dequeue(); item.ChannelID = chn.ID; item.Save(); if (item.Childrens != null && item.Childrens.Count > 0) { foreach (var child in item.Childrens) { child.ParentID = item.ID; queue.Enqueue(child); } } } } else { // 找到频道 var provider = ModelProvider.Get <TEntity>(); var model = Model.FindByName(provider.Name); var chn = Channel.FindBySuffixAndModel(null, model.ID); var entity = new TEntity { Name = "默认" + Meta.Table.Description, ChannelID = chn.ID }; entity.Insert(); entity = new TEntity { ParentID = entity.ID, Name = "二级分类", ChannelID = chn.ID }; entity.Insert(); } if (XTrace.Debug) { XTrace.WriteLine("完成初始化{0}[{1}]数据!", typeof(TEntity).Name, Meta.Table.DataTable.DisplayName); } }
//public int GetTitleCount() //{ // var provider = ModelProvider.Get(this.GetType()); // return provider.TitleFactory.GetTitleCount(this.ID); //} public IList <IEntityTitle> GetTitles(PageParameter pager) { var provider = ModelProvider.Get(this.GetType()); return(provider.TitleFactory.GetTitles(ID, pager)); }