当前位置: 首页 > wzjs >正文

jsp做网站开发百度客户端下载

jsp做网站开发,百度客户端下载,合肥政务新区建设局网站,外贸网站模板推荐1、获取表结构 //获取表结构,无分库 List<DbTableInfo> dbTableInfos _freeSql.DbFirst.GetTablesByDatabase(_freeSql.DbFirst.GetDatabases()[0]); 2、序列化表结构&#xff0c;序列化时Table字段会循环引用&#xff0c;需要排除掉 //备份表结构 dbTableInfos.AsPar…

1、获取表结构

//获取表结构,无分库
List<DbTableInfo> dbTableInfos =_freeSql.DbFirst.GetTablesByDatabase(_freeSql.DbFirst.GetDatabases()[0]);

2、序列化表结构,序列化时Table字段会循环引用,需要排除掉

//备份表结构
dbTableInfos.AsParallel().WithDegreeOfParallelism(_backupConfig.backupThread).ForAll(_ =>
{//目录名称就是表名string tempPath = Path.Combine(filePathName, _.Name);//文件string tempFilePath = Path.Combine(tempPath, _.Name);_iLogger.Info($"备份表:{_.Name},备份文件路径:{tempPath}");if (!Directory.Exists(tempPath)){Directory.CreateDirectory(tempPath);}//表结构string tableStructure = JsonHelperEx.SerializeSettingsEx(_, new Newtonsoft.Json.JsonSerializerSettings(){ContractResolver = new IgnorePropertiesContractResolver(new[] { "Table" })});//写入文件File.WriteAllText(tempFilePath, tableStructure);_iLogger.Info($"备份表结构:{_.Name},完成");
});

注:排除的代码

/// <summary>
/// 序列化时过滤某个字段
/// </summary>
public class IgnorePropertiesContractResolver : DefaultContractResolver
{private readonly HashSet<string> _ignoreProps;/// <summary>/// 构造/// </summary>/// <param name="propNamesToIgnore"></param>public IgnorePropertiesContractResolver(IEnumerable<string> propNamesToIgnore){_ignoreProps = new HashSet<string>(propNamesToIgnore);}/// <summary>/// 创建映射/// </summary>/// <param name="member"></param>/// <param name="memberSerialization"></param>/// <returns></returns>protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization){JsonProperty property = base.CreateProperty(member, memberSerialization);if (_ignoreProps.Contains(property.PropertyName)){property.ShouldSerialize = _ => false;}return property;}
}

3、备份数据

//数据
List<object> list = _freeSql.Select<object>().AsTable((_, _) => _.Name).Page(i, pageNum).ToList();
_iLogger.Info($"第 {i} 页数据:{list.Count}");
//处理数据
File.WriteAllText(tempDataFilePath, JsonConvert.SerializeObject(list, Formatting.Indented));

4、恢复表结构,将文件加载后反序列化恢复数据对象DbTableInfo

DbTableInfo dbTableInfo = JsonConvert.DeserializeObject<DbTableInfo>(json);
//处理注解
List<Attribute> attributes = new List<Attribute>();//表注解
attributes.Add(new TableAttribute() { Name = dbTableInfo.Name });
//索引注解
dbTableInfo.Uniques.ForEach(uni =>
{attributes.Add(new IndexAttribute(uni.Name, uni.Columns[0].Column.Name.ToLower(), uni.IsUnique));
});DynamicCompileBuilder dynamicCompile =_freeSql.CodeFirst.DynamicEntity(_.Name, attributes.ToArray());
//列映射
dbTableInfo.Columns.ForEach(col =>{_iLogger.Info($"备份到字段:{col.Name}");dynamicCompile = dynamicCompile.Property(col.Name, typeof(string), new ColumnAttribute{IsIdentity = col.IsIdentity,IsPrimary = col.IsPrimary,IsNullable = col.IsNullable,Position = (short)col.Position,StringLength = col.MaxLength});});//恢复结构
_freeSql.CodeFirst.SyncStructure(dynamicCompile.Build().Type);

5、恢复数据也是一样,读取文件,序列化插入表中

http://www.dtcms.com/wzjs/458895.html

相关文章:

  • 东营 微信网站建设网站申请流程
  • 网站维护 案例网站建设公司大型
  • 吉首网站制作新品牌推广方案
  • php网站开发教程 pdf网络营销经典成功案例
  • asp网站仿制竞价托管外包费用
  • 长沙网页设计培训只问沙大计教育靠谱百度关键词在线优化
  • 在线做编程题的网站百度竞价推广点击器
  • 网站实现语言转换技术上该怎么做网站在线客服系统免费
  • 做网站哪里接单潍坊网站模板建站
  • 怎么写自己的网页seo 百度网盘
  • python和php哪个做网站外链查询
  • 中文网站外链查询工具江苏网站seo营销模板
  • wordpress 单独搜索页面类聚seo
  • 网站模板和后台网站注册时间查询
  • 上海网站建设的价格是多少钱宣传软文怎么写
  • 西安国内做网站的公司有哪些seo公司 杭州
  • 做科学实验的网站百度应用市场app下载安装
  • 做招聘网站公司b站推出的短视频app哪个好
  • 在淘宝上做代销哪个网站好汕头网站建设方案开发
  • 全球十大咨询公司网站推广优化公司
  • 上海翼成信息科技有限公司做的什么网站自己制作一个网页
  • 手机免费建站平台下载网站优化北京seo
  • 上海三益建筑设计有限公司seo网站推广排名
  • 香港人做evus在哪个网站竞价 推广
  • 张店网站建电商平台有哪些?
  • 红番茄 网站点评企业网站建设制作
  • 漳州网站建设公司企业文化的重要性和意义
  • Wordpress用mvc开发吗临沂seo顾问
  • php在网站后台建设中的优势网推项目平台
  • 手机开发网站建设深圳推广公司排行榜