问题标签 [linq-to-sql]

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 投票
5 回答
5609 浏览

多个 DataContext 类是否合适?

为了在 ASP.net 3.5 应用程序中充分使用 LinqToSql,需要创建DataContext (通常使用 VS 2008 中的设计器完成)。从 UI 的角度来看,DataContext 是您希望通过 LinqToSql 公开的数据库部分的设计,并且在设置 LinqToSql 的 ORM 功能时是不可或缺的。

我的问题是:我正在建立一个使用大型数据库的项目,其中所有表都通过外键以某种方式互连。我的第一个倾向是创建一个巨大的 DataContext 类来模拟整个数据库。这样我理论上可以(尽管我不知道在实践中是否需要)使用通过 LinqToSql 生成的外键连接来轻松地在我的代码中的相关对象之间移动,插入相关对象等。

然而,经过一番思考,我现在认为创建多个 DataContext 类可能更有意义,每个类都与我的数据库中的特定命名空间或逻辑相关部分相关。我主要担心的是,始终为与数据库特定区域相关的单个操作实例化和处置一个巨大的 DataContext 类会对应用程序资源造成不必要的影响。此外,创建和管理较小的 DataContext 文件比创建一个大文件更容易。我会失去的事情是,数据库的一些遥远部分将无法通过 LinqToSql 导航(即使在实际数据库中连接它们的关系链)。此外,还会有一些表类存在于多个 DataContext 中。

关于多个 DataContexts(对应于 DB 命名空间)是否适合代替(或补充)一个非常大的 DataContext 类(对应于整个 DB)的任何想法或经验?

0 投票
6 回答
23218 浏览

LinqDataSource - 你能限制返回的记录数量吗?

我想LinqDataSource在页面上使用控件并限制返回的记录数量。我知道如果我使用后面的代码,我可以做这样的事情:

有谁知道这样的事情是否可以通过LinqDataSource控制来实现?

[更新]

我将使用LinqDataSource控件ListView而不是GridView 或 Repeater。该LinqDataSource向导不提供限制返回记录数的功能。高级选项仅允许您启用删除、插入和更新。

0 投票
2 回答
1709 浏览

使用 LINQ 时有多少数据库性能开销?

与使用大多数低级 C 加载的自定义优化查询相比,使用 C# 和 LINQ 涉及多少数据库性能开销,两者都具有 SQL Server 2008 后端?

我在这里特别考虑了这样一种情况,即您有一个相当数据密集型程序,并且每个屏幕将至少进行一次数据刷新或更新,并且将同时拥有 50-100 个用户。

0 投票
1 回答
2403 浏览

LINQ to SQL 字符串到枚举

LINQ to SQL 允许表映射通过指定列的类型来自动来回转换为枚举 - 这适用于字符串或整数。

有没有办法使转换不区分大小写或添加自定义映射类或扩展方法,以便我可以更详细地指定字符串的外观。

这样做的原因可能是为了在已经设置数据架构(并且被一些遗留应用程序依赖)的系统中的一些新的时髦 C# 代码中提供更好的命名约定,以便数据库中的实际文本可以'不能改变。

0 投票
2 回答
1640 浏览

什么时候应该使用 Compiled LINQ 与 Normal LINQ

我刚刚阅读了 LINQ 的性能,使用 Compiled LINQ 可以获得大量收益。

现在,为什么我不总是使用已编译的 LINQ?

0 投票
17 回答
281559 浏览

实体框架与 LINQ to SQL

现在 .NET v3.5 SP1 已经发布(连同 VS2008 SP1),我们现在可以访问 .NET 实体框架。

我的问题是这个。当尝试在使用实体框架和 LINQ to SQL 作为 ORM 之间做出决定时,有什么区别?

按照我的理解,实体框架(与 LINQ to Entities 一起使用时)是 LINQ to SQL 的“老大哥”?如果是这种情况 - 它有什么优势?LINQ to SQL 无法单独完成哪些功能?

0 投票
13 回答
98786 浏览

如何有条件地应用 Linq 运算符?

我们正在开发一个日志查看器。用户可以选择按用户、严重性等进行过滤。在 Sql 日子里,我会添加到查询字符串中,但我想用 Linq 来做。如何有条件地添加 where 子句?

0 投票
16 回答
6706 浏览

有没有人在单元测试 SQL 存储过程方面取得任何成功?

我们发现我们为 C#/C++ 代码编写的单元测试确实得到了回报。但是我们在存储过程中仍然有数千行业务逻辑,只有在我们的产品向大量用户推出时才会真正得到愤怒的测试。

更糟糕的是,其中一些存储过程最终会变得很长,因为在 SP 之间传递临时表时会降低性能。这阻止了我们进行重构以使代码更简单。

我们已经多次尝试围绕我们的一些关键存储过程构建单元测试(主要是测试性能),但发现为这些测试设置测试数据真的很困难。例如,我们最终会复制测试数据库。除此之外,测试最终对更改非常敏感,甚至对存储过程的最小更改也是如此。or table 需要对测试进行大量更改。因此,在由于这些数据库测试间歇性失败而导致许多构建中断之后,我们不得不将它们从构建过程中拉出来。

所以,我的主要问题是:有没有人成功地为他们的存储过程编写过单元测试?

我的问题的第二部分是使用 linq 进行单元测试是否会/更容易?

我在想,不必设置测试数据表,您可以简单地创建一个测试对象集合,并在“linq to objects”的情况下测试您的 linq 代码?(我对 linq 完全陌生,所以不知道这是否可行)

0 投票
22 回答
110513 浏览

LINQ-to-SQL 与存储过程?

我查看了 StackOverflow 上的“LINQ 初学者指南”帖子(LINQ 初学者指南),但有一个后续问题:

我们即将启动一个新项目,其中几乎我们所有的数据库操作都将是相当简单的数据检索(项目的另一部分已经写入数据)。到目前为止,我们的大多数其他项目都使用存储过程来处理这些事情。但是,如果更有意义,我想利用 LINQ-to-SQL。

所以,问题是:对于简单的数据检索,哪种方法更好,LINQ-to-SQL 还是存储过程?有什么具体的优点或缺点吗?

谢谢。

0 投票
3 回答
1943 浏览

从 Money 到 Double 的 LINQ 到 SQL 映射

我是第一次使用 LINQ,当我在 SQL 中有一种货币类型时,我想让映射工作,但我的域对象属性是 double 类型。如何在 XML 文件或代码中表达这一点,以便映射不会引发通常的“无效转换”异常?