问题标签 [data-access]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
631 浏览

asp.net - 今天为 ASP.net 推荐哪个数据访问层?

我目前正在建立一个小型网站,我会在其中写下出现的问题并给出答案,以供其他人查看。目前我使用的 DAL 与此处描述的非常相似。现在我一直在研究其他模型,特别是使用 Linq2SQL 和 ADO.net Entries 框架的基于 linq 的模型。我意识到我正在以某种方式将数据访问移动到代码层,因为然后我会过滤掉例如带有 linq 查询的顶级列表。我开始这样做的原因是因为 DAL 并没有真正与数据库同步,并且当我更改数据库中的某些内容时,可空类型变得不可空。然后,如果我将表重新导入数据表,我的查询将丢失。

我的简单问题是,如果您今天想要一个适用于 ASP.net 的良好 DAL,那会是什么?建议,经验非常受欢迎。

0 投票
6 回答
438 浏览

linq - LinqToSQL 和 Linq 一样吗?

我只是在阅读有关 Linq to SQL 已停产的信息。有一段时间我完全推迟了学习 Linq。即使在 asp.net 上,当我上次检查时,他们的数据访问教程也在使用表适配器和 bll 类。然后是 linq 教程。现在我已经阅读了这篇文章并且实体框架是新的发展方向,这是否意味着我已经阅读了一年半的所有 Linq“东西”,它有多棒等等,就是这一切刚走了?似乎从来没有人决定以正确的方式做事,或者至少是一些使用 MS 产品的标准方式。我知道你不能说一种方法对所有事情都是正确的。但是,在这种特殊情况下,我不明白为什么不能对数据访问进行一些解决。

或者,Linq To SQL 只是 Linq 的 ORM 部分?如果我想使用 ORM,我现在究竟会学到什么?我在 StackOverflow 上读过几篇文章,但没有一篇能真正帮助我知道该怎么做。

似乎 nHibernate 可能比 Microsoft 的任何选择都好。是的,我知道还有其他人(亚音速,以及在各种 SO 问题中提到的其他人。)

谢谢你。

0 投票
1 回答
933 浏览

nhibernate - 使用 NHibernate 生成 SQL 查询

NHibernate 为我们提供了 ORM 功能。NHibernate 的一部分基于映射和 HQL(或 ICriteria)生成查询。我想知道是否可以在不使用其 ORM 功能的情况下使用 NHibernate 生成针对数据库的查询。

我正在尝试为客户提供对其数据库的自定义访问权限。由于此类数据库的模式在设计时是未知的,因此需要根据客户的配置生成查询(包括通过 WHERE 子句进行过滤)。

有没有人有使用 NHibernate(或其他 ORM)查询能力来生成自定义 SQL 的经验?

0 投票
1 回答
1906 浏览

database - 从 ms 访问 ado.net 返回多个结果集

嘿伙计们,我想在 1 个 ado.net 调用中从我的 ms access 数据库中获取 3 个表,但是当我尝试这样做时出现错误

当我将我的 sql 查询更改为只获取 1 个表时,我的代码工作正常

谁能让我知道如何通过 ms 访问实现这一目标?因为我多年来一直在使用 sql server 执行此操作,没有任何问题。也许访问不支持多个结果集?我在访问方面没有做太多工作。请帮忙。以下是我的参考代码:

更新:伙计们,这看起来不可能。所以我不得不编写非常愚蠢的代码来得到我想要的,完全浪费计算资源:

0 投票
3 回答
167 浏览

asp.net - 数据访问 ASP.NET

我建立了一个在线新闻门户网站,之前它对我来说很好,但有人说主页有点慢。当我想到它时,我看到了一个原因。

网站首页显示

  1. 头条新闻
  2. 现场新闻(副标题
  3. 有图片的景点
  4. 阅读最多的新闻(作为标题)
  5. 评论最多的新闻(作为标题)
  6. 每个新闻类别 5 个新闻标题(总共 11 个,例如体育、经济、地方、健康等)

现在,每一个都是对数据库的单独查询。我有 tableadapter 数据集和数据表(标准数据访问场景),所以对于标题,我调用新闻类中的业务逻辑,它通过 tableadapter 返回数据表。从那里开始,我要么通过将数据表绑定到控件来使用数据表,要么(大多数情况下)对象将其转换为(新闻)列表,然后我从那里使用它。

为上述每一项执行此操作似乎都可以正常工作。至少它不会带来巨大的负担。但是让我想知道是否有更好的方法。

例如,我上面描述的项目是一个高度动态的网站,当新闻从机构 24 小时不间断地到达时插入。所以在这种情况下缓存可能听起来不太好。但另一方面,我知道当地报纸还有另一个类似的项目。该网站每天只会更新一次。在这种情况下:我是否可以只运行一个查询,它会返回一个包含今天插入的所有新闻项目的数据表,然后查询该数据表并将标题、热点和其他项目放在网站上各自的位置?或者周围有更好的选择吗?我只是想知道其他人如何以最有效的方式执行类似的任务。

0 投票
4 回答
378 浏览

reflection - 数据映射代码还是反射代码?

将数据从数据库表中获取到代码中的对象似乎总是很普通的代码。我发现有两种方法可以做到这一点:

  1. 有一个代码生成器,它读取数据库表并创建类和控制器以将数据字段映射到类字段或
  2. 使用反射获取数据库字段并在类中找到它。

上述2种方法注意到的问题如下

  • 方法 1 在我看来好像我遗漏了一些东西,因为我必须为每个表创建一个控制器。
  • 一旦您进入繁重的数据访问代码,方法 2 似乎太费力了。

我应该尝试将数据从数据库获取到我的对象上吗?

0 投票
5 回答
10826 浏览

c# - 在 ASP.NET 中从数据库中获取一行数据的最有效方法

我正在编写一种从数据库返回“资产”行的方法。它包含字符串、整数和字节数组(这可能是图像/电影/文档)。

现在对于大多数行访问,我使用以下方法,它返回一个 NameValueCollection,因为它是一个轻量级对象,易于使用并转换为 int 和字符串。

现在我对这种数据访问的方法通常是获取返回数据行的方法。

创建一个 DataTable 然后返回它的第一个数据行似乎有点浪费。

有没有更好的方法来做到这一点?

我在想可能是一个对象字典,然后我手动转换每个成员。

看看其他人如何解决这个问题会很有趣。我知道这有点属于微优化领域,只要我不为每个行查询返回数据集(希望我每次在一行代码中看到它都有一磅)它应该没问题。

也就是说,可能会调用此方法来分配一个盒子上的站点上的数据访问查询。

干杯

史蒂夫

0 投票
2 回答
399 浏览

.net - 从数据库自动生成 Get 和 Set

我来自 VB6,我开始将现有的 VB6 代码转换为 VB.Net。我可以使用哪些工具来自动执行此任务?

0 投票
3 回答
24515 浏览

database - 只读数据库访问的事务?

关于使用事务从数据库中读取似乎有非常不同的意见。

引自 DeveloperWorks 文章交易策略:模型和策略概述

如果您只读取数据,为什么需要事务?答案是你没有。启动事务以执行只读操作会增加处理线程的开销,并可能导致数据库上的共享读锁(取决于您使用的数据库类型和隔离级别设置)。

作为相反的意见,以下引用来自 Hibernate 文档非事务性数据访问和自动提交模式

我们的建议是不要在应用程序中使用自动提交模式,并且仅在有明显性能优势或未来代码更改极不可能时才应用只读事务。无论您是读取还是写入数据,始终更喜欢使用常规 ACID 事务来对数据访问操作进行分组。

在 EclipseLink 邮件列表上也有类似的争论

那么真相在哪里呢?用于阅读最佳实践的交易是否是最佳实践?如果两者都是可行的解决方案,那么使用事务的标准是什么?

据我所知,只有在隔离级别高于“已提交读”时才会有所不同。它是否正确?

有哪些经验和建议?

0 投票
1 回答
1090 浏览

iphone - iPhone 应用程序数据访问

是否可以访问属于 iPhone 附带的应用程序的数据?我知道我们可以访问联系人信息,但我对能够读取/写入/删除用户制作的 Notes App 文档或从 ​​safari 读取/写入/删除书签感兴趣。哪些应用程序有我们可以访问的数据?我们可以从联系人列表之外的任何其他地方访问数据,还是其他所有内容都被沙箱化了?我对使用这些应用程序存储的数据感兴趣:联系人、文本、照片、地图、股票、便笺、Safari。