ASP.NET 数据集与业务对象/ORM

2024-04-23

我正在考虑 ASP.NET 应用程序的数据访问。来自一家使用大量带有客户端数据集的 Windows 应用程序的公司,自然而然地倾向于使用数据集方法来处理数据。

我更热衷于业务对象方法,并且不喜欢在会话中缓存数据集然后应用更新的想法。

有谁有任何经验/帮助传达这两种方法的优缺点吗?


你很聪明地考虑在你的应用程序中设计一个数据层。在 ASP.NET 应用程序中,这将帮助您标准化并显着简化数据访问。你will需要学习如何创建和使用 ObjectDataSources,但这非常简单。

数据访问层(使用单独的项目/DLL 构建)的另一个优点是它使单元测试变得更加简单。我还鼓励您构建一个业务层来完成大部分数据处理(例如,业务层将负责从 DAL 中提取 ObjectDataSource 并交给 UI 代码)。这不仅可以让您封装业务逻辑,还可以提高代码的可测试性。

You do not想要在会话中缓存数据集(或 DAL 对象)!您将构建一个 Web 应用程序,以便通过唯一 ID(或其他主键规范)进行记录修改,并将更改直接提供给 DAL。如果你要缓存所有东西戏剧性地降低应用程序的可扩展性。

更新:该线程上的其他人正在推广使用 ORM 的想法。由于我之前概述的原因,我会谨慎采用成熟的 ORMhere https://stackoverflow.com/questions/458802/doesnt-linq-to-sql-miss-the-point-arent-orm-mappers-subsonic-etc-sub-opti and here https://stackoverflow.com/questions/640004/is-linqtosql-powerful-enough-isnt-a-more-powerful-but-equally-fluent-interface. I do不过,同意避免使用数据集是明智的。在我自己的工作中,我广泛使用 DataReaders 来填充我的 ObjectDataSources(由于我的 DAL 的设计,这很简单),并发现它非常高效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET 数据集与业务对象/ORM 的相关文章

  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • Angular2 与 ASP.NET 5 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在将 Angular2 与 ASP NET5 gulp 和 typescript 结合使用 当我解决
  • DateTime.Parse("2012-09-30T23:00:00.0000000Z") 始终转换为 DateTimeKind.Local

    我想解析一个表示 UTC 格式的日期时间的字符串 我的字符串表示形式包括 Zulu 时间规范 该规范应指示该字符串表示 UTC 时间 var myDate DateTime Parse 2012 09 30T23 00 00 0000000
  • idleTimeout 和 ShutdownTimeout 之间的区别

    我正在尝试放宽网站的会话过期策略 以便用户可以指定会话超时间隔 我需要弄清楚应该指定哪些网站相关设置 以免过多限制用户 例如 可能需要 1 天的间隔 我将使用门票来实现这一点 现在 我知道我可以在网站的 web config 文件中指定id
  • requestValidationMode 2.0 和 4.0 有什么区别

    这是 MSDN 的定义 4 0 默认值 HttpRequest 对象在内部设置一个标志 指示每当访问任何 HTTP 请求数据时都应触发请求验证 这保证了在请求期间访问 cookie 和 URL 等数据之前触发请求验证 配置文件中的页面元素
  • 使用 jQuery 将参数从一个 ASP.NET 页面传递到另一页面

    我需要使用 jQuery 将 4 个参数 3 个字符串和一个逗号分隔列表 从 ASP NET 页面传递到另一个 ASP NET 页面 目标页面应该作为单独的窗口启动 这与以下 jQuery 片段配合良好 sourcePageBtn clic
  • 我的 MS Access 数据库不会更新 asp.net

    我正在尝试更新我的数据库但没有成功 这就是我的桌子的样子 https i stack imgur com Q6EDk png https i stack imgur com Q6EDk png 打开模态后 它看起来像这样 https i s
  • asp.net 视图状态加密

    我有几个关于何时以及如何在 ASP NET 3 5 中加密视图状态的问题 例如 如果我的 web config 中有一个机器密钥条目 例如 解密Key 自动生成 IsolateApps 验证 AES 解密 自动 gt 此时视图状态是否已加密
  • 在 ASP.NET 中加密 cookie

    我想在 ASP NET 中加密 cookie 我已关注本文的方法 http www codeproject com KB web security HttpSecureCookie aspx 但它有一个缺点 那就是在内部方法上使用反射 这导
  • 使用 PHP 对 ASP.NET 成员身份中的用户进行身份验证

    我在尝试使用 PHP 针对现有 ASP NET 成员资格数据库对用户进行身份验证时遇到一些问题 我在网上搜索过 发现现有的答案似乎对我不起作用 即 public static function Hash password salt deco
  • 如何在c#中生成8字节GUID值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 GUID 生成 8 字节唯一 ID https stackoverflow com questions 5678177 how to generate 8 bytes unique id fr
  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • 使用 JQuery 根据下拉列表选择的值显示/隐藏控件

    我正在尝试使用 JQuery 根据下拉菜单的选定索引显示 隐藏 div 标签 但它不起作用 任何帮助将不胜感激 Thanks
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 使用 json 向 RESTful WCF 发送 Post 请求

    我已经尝试了每种组合来发送请求 以从 jQuery 向 RESTful WCF 发送 POST 请求 有人可以模仿并使其发挥作用吗 代码在这里 http pastebin com Ua97919C http pastebin com Ua9
  • 正则表达式最多匹配五个单词

    我有一个正则表达式 a zA Z 0 9 1 5 它验证该单词包含字母数字字符和少数特殊字符 并且长度不应超过5人物 如何使此正则表达式接受最多五个与上述正则表达式匹配的单词 a zA Z 0 9 1 5 s a zA Z 0 9 1 5
  • 从对象定义生成数据库表

    我知道有几种 自动 方法可以创建数据访问层来操作现有数据库 LINQ to SQL Hibernate 等 但我有点厌倦了 我相信应该有更好的做事方式 比如 在 Visio 中创建 更改表 使用 Visio 的 更新数据库 创建 更改数据库
  • 获取GridView中选定行的索引

    我想使用复选框获取从 gridview 选择的行 复选框是这样的
  • 使用 asp.net 发送 20,000 多封电子邮件

    我正在编写一个应用程序 需要向从我们的数据库中选择的学生发送大量电子邮件 每封电子邮件都将进行个性化 包括他们的姓名 学习课程等 因此需要一次发送一个 我可以在 SmtpClient 上循环执行此操作 但我担心我尝试发送的数字最终会遇到超时
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC

随机推荐