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

徐州市徐州市城乡建设局网站网站地图对seo的影响

徐州市徐州市城乡建设局网站,网站地图对seo的影响,土木工程毕业设计网站,企业模板之家Rafy 框架又添新成员#xff1a;幽灵插件。本文将解释该插件的场景、使用方法、原理。 场景 在开发各类数据库应用系统时#xff0c;往往需要在删除数据时不是真正地删除数据#xff0c;而只是把数据标识为‘已删除’状态。这些数据在业务逻辑上是已经完全删除、不可用的数据…   Rafy 框架又添新成员幽灵插件。本文将解释该插件的场景、使用方法、原理。   场景 在开发各类数据库应用系统时往往需要在删除数据时不是真正地删除数据而只是把数据标识为‘已删除’状态。这些数据在业务逻辑上是已经完全删除、不可用的数据但是不能在数据库中真正的把它们删除而是需要永久保留这些历史数据。即开发人员常说的‘假删除’功能。 这种需求往往是系统级的。往往不是针对某一张表而很可能是针对系统中的所有表都需要实现‘假删除’功能。   使用方法 由于这种需求比较常见所以我们决定专门为该功能写一个独立的 Rafy 插件。这样开发人员需要实现假删除功能时只需要引用该插件后系统中所有删除的实体都自动变为‘幽灵’同时这些幽灵数据在仓库的所有查询中都将被自动过滤。 使用步骤 通过 Nuget Package Manager 搜索并安装 Rafy.Domain.EntityPhantom 插件。 在 DomainApp 中添加该插件 class JXCApp : DomainApp {protected override void InitEnvironment(){//添加幽灵插件到 Rafy 应用程序集中。RafyEnvironment.DomainPlugins.Add(new Rafy.Domain.EntityPhantom.EntityPhantomPlugin());RafyEnvironment.DomainPlugins.Add(new JXCPlugin());base.InitEnvironment();} } 为需要幽灵功能的实体打开该功能需要在实体元数据配置中进行配置 internal class UserConfig : JXCEntityConfigUser {protected override void ConfigMeta(){Meta.MapTable().MapAllProperties();//在实体配置中加入此行代码为实体启用幽灵功能。Meta.EnablePhantoms();} }   效果 所有继承自 Entity 的实体都会统一的添加一个 IsPhantom 的属性。这个属性表示这个实体是否为‘幽灵’即已经删除的数据。 开发者可以使用 Meta.EnablePhantoms() 来为某个指定的实体类型开启‘幽灵’功能。 开启该功能的实体的 IsPhantom 属性会自动映射到数据库中。 在保存实体时如果要删除一个聚合实体则这个聚合中的所有实体都将会被标记为‘幽灵’状态。 在查询实体时所有的查询都将会自动过滤掉所有‘幽灵’状态的数据。手写 SQL 查询的场景不在考虑范围内。 使用批量导入数据插件进行数据的批量导入时批量删除的实体同样都会被标记为‘幽灵’状态。 运行程序后数据库中的字段已经自动添加上 IsPhantom 字段了 在使用 GetAll 查询所有实体时框架自动加上一 IsPhantom false 的过滤条件 SELECT * FROM [User] WHERE [User].[IsPhantom] p0 ORDER BY [User].[Id] ASC Parameters:False 数据的删除变为更新表中对应行的 IsPhantom 字段为 True UPDATE [User] SET [Name] p0,[IsPhantom] p1 WHERE [Id] p2 Parameters:Name,True,3   原理 幽灵插件的原理比较简单。在 Rafy 框架的基础上以插件的形式对 Rafy 框架中实体的数据层进行了扩展。在启用实体的幽灵功能后该实体的 DataProvider 类型的 Deleting、Querying 事件都会被监听并扩展 /// summary /// 数据的删除、查询的拦截器。 /// /summary internal static class PhantomDataInterceptor {internal static void Intercept(){RepositoryDataProvider.Deleting RepositoryDataProvider_Deleting;RepositoryDataProvider.Querying RepositoryDataProvider_Querying;} } 在查询时框架自动分析出当前查询的 SQL 树并在主查询上加上 IsPhantom false 的过滤条件。 有兴趣的同学可以查看 Rafy 框架源码。   PS:该文已经纳入《 Rafy 用户手册》中。
http://www.pierceye.com/news/56577/

相关文章:

  • 最好的汽车科技网站建设微商城哪个平台做得比较好
  • 网站做好后找片子有什么好的关键词推荐
  • 北滘建网站互联网营销网站建设
  • 吉林网站建设找哪家百度seo优化包含哪几项
  • 江苏高校品牌专业建设工程网站网站开发虚拟主机系统
  • 网站运维主要做些什么工作网商之窗高仿手表
  • 社交网站有哪些如何做太原做响应式网站
  • 网站flash效果中国机械加工网官方网站
  • 做门户网站有前途吗网页开发培训
  • 网站空间有什么用有自己域名如何做网站
  • 十大网站黄页重庆城市建设档案馆官方网站
  • 佛山专业网站制作wordpress主题优点
  • 西安SEO网站推广旅游网站的建设现状
  • 网站收录查询平台com域名申请
  • 学习网站开发商城手机网站建设
  • html5网站源代码下载家庭网络做网站
  • 帮别人做钓鱼网站犯法吗秦皇岛建设工程信息网站
  • 建站优化是什么全国建设网站图片
  • 自适应的网站模板如何改变wordpress的版面
  • 微信公众账号登录入口网站更换服务器 seo
  • 滕州网站制作免费引流微信推广
  • 中富国建设有限公司网站杭州知名的网站建设策划
  • 哈尔滨网站建设培训班外贸软件好用的
  • 南宁网站建设gxskm昆明网络营销软件
  • 网站建设创业书建站需要钱
  • 湖南省邵阳建设局网站wordpress简体中文版下载
  • 网站服务器配置参考指南广州3d网站开发
  • 网站分为哪几种免费自助开通网站
  • 网站建设的公司联系方式电商培训班
  • 电商网站开发面试题各大网站搜索引擎入口