惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
Hugging Face - Blog
Hugging Face - Blog
L
LINUX DO - 热门话题
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
D
Docker
C
Cyber Attacks, Cyber Crime and Cyber Security
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
T
Tenable Blog
P
Privacy International News Feed
Google DeepMind News
Google DeepMind News
小众软件
小众软件
Cisco Talos Blog
Cisco Talos Blog
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
The Hacker News
The Hacker News
Project Zero
Project Zero
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
Jina AI
Jina AI
Cyberwarzone
Cyberwarzone
The Register - Security
The Register - Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Vercel News
Vercel News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Scott Helme
Scott Helme
A
About on SuperTechFans
WordPress大学
WordPress大学
F
Fortinet All Blogs
大猫的无限游戏
大猫的无限游戏
G
GRAHAM CLULEY
Latest news
Latest news
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Schneier on Security

博客园 - 得易失易积薄不宏

axios调用webapi报错 MySql重装以后,修改数据库路径,打开以前的数据库报Table 'XX库.XX表' doesn't exist错误的解决办法 SqlServer2012,设置指定数据库对指定用户开放权限 win10无法访问服务器上的共享文件夹怎么设置,提示:你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问 Vs2017的git的坑 jira6.3.6创建问题不自动发邮件通知的问题 在windows下面配置redis集群遇到的一些坑 SqlServer2008 无法修改表,超时时间已到 在操作完成之前超时解决方法 .Net MVC HTTP 错误 404.0 - Not Found 解决方法 新建mvc项目iis报404错误! 怎么在本地调试其他机器网站执行代码 今天2003的iis 始终无法访问。net2.0的项目,原来是web服务扩展没有2.0的扩展 下面是加上的方法 .net 查询excel记录为空的解决办法 - 得易失易积薄不宏 - 博客园 最近想写一个bs结构的后台权限控制 http/1.1 forbidden 问题方法 一个有趣的C#面试题 - 得易失易积薄不宏 - 博客园 winfrom DataGridView 关闭自动创建列 .net 操作Access的一个奇怪的问题 目前我见过的.net开源的或者免费的比较好的资源
对于三层结构运用ActiveRecord的感想
得易失易积薄不宏 · 2007-06-06 · via 博客园 - 得易失易积薄不宏
      

         今天在搭三层结构的时候,遇到了一个问题,一个关于查询的问题. 因为刚接触三层+ActiveRecord+工厂模式结构,对这一套结构体系还不是很熟悉,所以只能是边学边搭,结果在数据层(DAL)遇到这样一个问题:对一个管理员分组表进行相应条件的筛选.返回DataTable. 一开始自己的想法很简单,不就是一个普通的筛选吗?接着开始写代码:
         /// <summary>
        /// 返回管理员分组数据集合
        /// </summary>
        /// <param name="where">Sql语句条件</param>
        /// <param name="parameters">参数</param>
        /// <returns>数据集</returns>
        public DataTable GetListTable(string where, SqlParameter[] parameters)
        {
           
            return MySqlHelper.ExceteDataTable(Sql,parameters);
        }  
       写完以后接着一想,好像不大对.这样一个方法在业务逻辑层调用的时候势必要写Sql语句和调用SqlParameter,
这样项目就不可能实现支持多数据库,并且分层也不明确了.
         后来经过思考,修改代码
         public DataTable GetListTable(AdminGroup Model)
        {
            .................(相关代码(拼写Sql语句))
            return MySqlHelper.ExceteDataTable(Sql,parameters);
        }
         但是这样一来,如果我需要多表查询的时候怎么办?
         经过几个小时的思考和google,baidu还有寻求朋友的帮助 以后一个朋友和我对话提醒了我,他说:关系型数据库和面向对象编程天生不搭配,你只能根据需求在灵活和性能上取一个平衡点. 我想是啊 一个后台管理员分组的表记录一定很少 基本是不用筛选的 所以直接写一个返回所有记录的方法就可以了.如果有些表涉及多表查询,那就专门针对它们写一个针对多表查询的方法,一切以需求为主取灵活和性能的平衡点