问题标签 [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 投票
4 回答
5002 浏览

database - LINQ to SQL 用于自引用表?

我有一个自引用类别表。每个类别都有一个 CategoryID、ParentCategoryID、CategoryName 等。每个类别可以有任意数量的子类别,每个子类别都可以有任意数量的子类别,依此类推。所以基本上这棵树可以有 X 层深。

然后产品与叶(子)类别相关联。有没有办法使用 LINQ to SQL 获取任何给定类别的所有产品(这将是与其所有叶子后代关联的所有产品)?

这感觉像是一个递归问题。改用存储过程会更好吗?

0 投票
15 回答
70533 浏览

.net - 如何解决 SQL Server Compact Edition 数据库上的 LINQ to SQL 中的“未找到或更改行”异常?

在使用 LINQ to SQL 连接(针对 SQL Server Compact Edition)更新几个属性后对 DataContext 执行 SubmitChanges 时,我收到“未找到或更改行”。更改冲突异常。

该查询生成以下 SQL:

明显的问题是WHERE 0=1,加载记录后,我已经确认“deviceSessionRecord”中的所有属性都正确包含主键。此外,当捕获“ChangeConflictException”时,没有关于失败原因的其他信息。我还确认,数据库中只有一条记录(我正在尝试更新的记录)引发了此异常

奇怪的是,我在不同的代码部分有一个非常相似的更新语句,它生成以下 SQL,并且确实更新了我的 SQL Server Compact Edition 数据库。

我已经确认在数据库模式和生成 LINQ 类的 DBML 中都确定了正确的主字段值。

我想这几乎是一个两部分的问题:

  1. 为什么会抛出异常?
  2. 在查看了第二组生成的 SQL 之后,似乎为了检测冲突,检查所有字段会很好,但我想这将是相当低效的。这是总是这样吗?有没有只检查主键的设置?

在过去的两个小时里,我一直在与此作斗争,因此我们将不胜感激。

0 投票
3 回答
2110 浏览

c# - LINQ to SQL 关联 - “属性没有匹配的类型”

我正在尝试将给定表的两个字段链接到另一个表中的同一字段。我以前这样做过,所以这次我无法弄清楚出了什么问题。

反正:

该关联适用于 FK-Table2a,但不适用于 FK-Table2b。事实上,当我加载到 LINQ to SQL 时,它显示 Table2.Id 与 Table1.Id 关联。如果我尝试更改它,或者将 FK-Table2b 的新关联添加到 Table2.Id,它会显示:“属性没有匹配的类型”。

这也适用于其他项目 - 也许我应该只复制 .dbml?

有任何想法吗?

0 投票
3 回答
10418 浏览

sql - 如何在 Linq 中编写 SELECT FROM myTable WHERE id IN (SELECT...)?

你如何在 Linq 中重写它?

所以用简单的英语,我想从 TableA 中选择 Id 和 Name,其中 TableA 的 Id 在第二个查询的结果集中。

0 投票
2 回答
1711 浏览

asp.net - 最佳实践:用于数据访问的 LINQ To SQL

我正在处理的 Web 应用程序的一部分是一个显示从管理层到 1...n 个用户的消息的区域。我有一个包含 LINQ to SQL 类的 DataAccess 项目,以及一个作为 UI 的网站项目。我的数据库如下所示:

用户 -> 消息详细信息 <- 消息 <- 消息类别

MessageDetail 是一个连接表,它还包含一个 IsRead 标志。

消息列表按类别分组。我在页面上有两个嵌套的 ListView 控件——一个输出组名,而第二个嵌套在里面,绑定到 MessageDetails 并输出消息本身。在列出消息的页面的代码隐藏中,我有以下代码:

这段代码有效,但是在 LinqDataSource 控件的代码隐藏中粘贴这样一个巨大的 LINQ 语句并不适合我。

似乎我仍在将查询编码到用户界面中,只是现在它是 LINQ 而不是 SQL。但是,我觉得在 L2S 类和 UI 之间构建另一个层会削弱 LINQ 的一些灵活性。减少您为获取数据而编写的代码量不是重点吗?

是否有一些我没有看到的中间立场,或者我只是误解了应该使用 LINQ to SQL 的方式?建议将不胜感激。

0 投票
4 回答
2090 浏览

linq-to-sql - 使用 LINQ to SQL 部署项目

我正在使用 LINQ to SQL 开发一个 winforms 应用程序 - 并且正在我的工作站上使用 SQL Express 实例构建应用程序。项目的最终安装将在适当的 SQL Server 2005 上。

数据库具有相同的名称,所有表都相同,但主机名不同。

我发现让我的应用程序从一台机器运行到另一台机器的唯一方法是在 Visual Studio 中重新打开代码,从我的 .mdbl 中删除所有引用 SQL express 实例的对象,保存项目,连接到另一台服务器,将所有引用拖回,并重新构建应用程序以再次发布。

这里的一个答案建议人们可以简单地修改 app.config/web.config 文件 - 这适用于 asp.net,但这是一个 winforms 应用程序。使 LINQ to SQL 应用程序使用新数据库而无需在 Visual Studio 中重新打开应用程序的正确方法是什么?

0 投票
4 回答
1670 浏览

linq-to-sql - LINQ 和数据库权限

我仍在尝试了解 LINQ 并访问 SQL 数据库。

我总是被教导说你应该只对你的数据拥有存储过程的执行权限。

你永远不应该选择/插入/更新/删除。

(这是因为性能和安全性)

要从 LINQ 中获取数据,您显然需要选择权限。我知道您可以将存储过程与 LINQ 一起使用,但既然我不能加入,那有什么意义呢?

我错过了什么吗???

0 投票
3 回答
1974 浏览

linq - 优化 LINQ to SQL 查询

我有一个看起来像这样的查询:

我需要打印订单信息和创建它的用户:

这将生成一个 SQL 查询来带来订单,并为每个订单生成一个查询来带来客户。是否可以优化查询,以便在一个 SQL 查询中带来订单和客户?

谢谢

UDPATE:根据 Sirrocco 的建议,我更改了这样的查询并且它有效。只生成一个选择查询:

谢谢西洛克。

0 投票
2 回答
367 浏览

linq-to-sql - LINQ to SQL 不会基于关系生成集合的原因是什么?

我在两个实体(e1 和 e2)之间有一个关系,并且 e1 有一个 e2 的集合,但是我在(e2 和 e3)之间建立了类似的关系,但是 e2 不包含 e3 的集合,这有什么理由发生?我可以发布任何内容以使这更容易弄清楚吗?

编辑:我刚刚注意到 e1 和 e2 之间的关系是稳固的,而 e2 和 e3 之间的关系是点状的,这是什么原因造成的?有关系吗?

0 投票
9 回答
76378 浏览

sql - 如何使用 LINQ to SQL 处理 IN 子查询?

我有点坚持这一点。基本上我想在 LINQ to SQL 中执行类似以下 SQL 查询的操作:

任何帮助将不胜感激。