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

推荐订阅源

Y
Y Combinator Blog
V
V2EX
Jina AI
Jina AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
量子位
L
LangChain Blog
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
腾讯CDC
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss

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

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还有寻求朋友的帮助 以后一个朋友和我对话提醒了我,他说:关系型数据库和面向对象编程天生不搭配,你只能根据需求在灵活和性能上取一个平衡点. 我想是啊 一个后台管理员分组的表记录一定很少 基本是不用筛选的 所以直接写一个返回所有记录的方法就可以了.如果有些表涉及多表查询,那就专门针对它们写一个针对多表查询的方法,一切以需求为主取灵活和性能的平衡点