问题标签 [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 回答
7958 浏览

sql-server - 计划将 PostgreSQL 与 ASP.NET 一起使用:坏主意?

我目前正在为我未来的 Web 项目规划基础设施。我想像 Joel 那样为每个客户拥有一个数据库,现在想着哪个数据库引擎对我有好处。最好的当然是 SQL Server,但我现在买不起完整的版本,我不认为 SQL Server Express 将是加载服务的好选择。现在我正在考虑改用 PostgreSQL。鉴于我的开发环境将是 ASP.NET 3.5,比如 NHibernate 或 LINQ to SQL,如果我使用 PostgreSQL 而不是 SQL Server,我会有多少麻烦?

谢谢!

0 投票
2 回答
8931 浏览

asp.net - 使用 SqlMetal 和 Visual Studio 时自动生成 DataContext 设计器文件

我正在使用SqlMetal为使用 LinqToSql 的 ASP.net 应用程序通用我的 DataContext.dbml 类。当我最初创建 DataContext.dbml 文件时,Visual Studio 使用它来创建相关的 DataContext.designer.cs 文件。此设计器文件包含 C# 中的 DataContext 类,该类在整个应用程序中使用(并且从 dbml 文件中的 XML 派生),对于弥合 SqlMetal 的输出和使用带有 LinqToSql 的 DataContext 之间的差距至关重要。

但是,当我对数据库进行更改并重新创建 dbml 文件时,设计器文件永远不会在我的网站中重新生成。而是保留旧的设计器文件(因此对 DBML 文件的任何更改都不能通过 LinqToSql DataContext 类访问)。

到目前为止,我能够用来重新生成设计器文件的唯一过程是

  1. 转到 Windows 资源管理器并删除 dbml 和 Designer.cs 文件
  2. 转到 Visual Studio 并在解决方案资源管理器中点击刷新。dbml 和 Designer.cs 文件现在从项目中消失了。
  3. 使用 SqlMetal 重新生成 dbml 文件
  4. 转到 Visual Studio 并在解决方案资源管理器中点击刷新。现在重新创建了 Designer.cs 文件。

似乎 Visual Studio 只会在检测到新的 dbml 文件但还没有 Designer.cs 文件时才会生成 Designer.cs 文件。这个过程非常不切实际,因为它涉及几个手动步骤,并且会弄乱源代码控制。

有谁知道我如何可以自动重新生成 Designer.cs 文件,而无需遵循上述手动删除/刷新/重新生成/删除过程?

0 投票
2 回答
379 浏览

wcf - LinqToSql 和 WCF

在使用 WCF 服务与数据库交互的 n 层应用程序中,在整个应用程序中使用 LinqToSql 类的最佳实践方式是什么?

我已经看到它以几种不同的方式完成,但他们似乎花费了很多时间来创建额外的接口、消息类等,这减少了您不必编写数据访问代码所获得的好处。

目前有什么好的方法吗?我们是否一直在等待实体框架?

0 投票
2 回答
862 浏览

linq - 如何编写 Linq to SQL 自动生成的部分扩展?

我使用 VS 2008 SP1 Framework 3.5 SP1 制作了一个从 Linq 到 SQL Clasees 的类,在这种情况下,我扩展了部分

我的问题是当我执行 db.SubmitChanges() 时,它执行 UpdateMyTable 并进行验证,但它没有更新,我收到此错误:

0 投票
1 回答
147 浏览

linq - LINQ 语法序列

下面的 SQL

在 LINQ 中转换为此

他们有什么好的理由交换 from 和 select 吗?

我能想到的唯一合乎逻辑的原因是智能感知?为了使智能感知器得到解决,它需要知道它在查询什么(范围)?

换了还有什么其他原因吗?

0 投票
4 回答
4136 浏览

c# - 让 Linq-toSQL 查询显示在 GridView 上

我有一个非常复杂的 Linq 查询,我似乎无法进入 LinqDataSsource 以在 GridView 中使用:

我怎样才能把它变成一个 GridView?谢谢!

0 投票
1 回答
1205 浏览

c# - 如何在 Linq 2 SQL 映射中定义类型?

我正在尝试手动执行我的 linq 2 sql 对象,所以我有以下代码:

XML 看起来像这样:

这将返回以下错误:

System.InvalidOperationException:在类型“Int32”上找不到键“Id”的键成员“Id”。键可能是错误的,或者“Int32”上的字段或属性已更改名称..

所以我需要弄清楚如何告诉 Linq 2 SQL Id 是 GUID 而不是 Int32 ......所以我生成了一些 Linq2SQL XML 来看看它们是如何做到的,它们传递了 Type,但是根据 Type,Type 不是一个有效的属性XSD,所以它失败了。

这是 SQL 表:

和业务对象:

0 投票
4 回答
2115 浏览

linq-to-sql - 用 LinqToSQL 定义一对一的关系

我正在使用现有的多语言数据库使用 LinqToSQL,但在映射一个相当重要的一对一关系时遇到了问题,所以我怀疑我在数据库设计中错误地使用了该功能。

假设有两个表,Category 和 CategoryDe​​tail。Category 包含 CategoryId (PK)、ParentId 和 TemplateId。CategoryDe​​tail 包含 CategoryId (FK)、LanguageId、Title 和 Description(使用适当的语言),以及 CategoryId 和 LanguageId 的组合 PK。

如果我将这些表拖放到 LinqToSQL 设计器中,则生成的对象模型将具有 Category 和 CategoryDe​​tail 对象的集合,这绝不应该是这种情况。我希望能够在 DataContext 级别对 LanguageId 进行过滤,这意味着整个类别都封装在 Category.CategoryDe​​tail 中,而不是所有语言版本都封装在 Category.CategoryDe​​tails 中。

这个数据库在我的旧对象库(一个老式的自定义 BOL 和 DAL)上运行良好,但我担心 LinqToSQL 需要更改它才能给我所需的结果。

使这种关系(和语言过滤)尽可能无缝的最佳方法是什么?

0 投票
2 回答
1021 浏览

linq-to-sql - 是否可以在 LinqToSql 中使用 Soundex(或其他 SQL 函数)?

我正在重构一些当前在存储过程中实现的代码以使用 LinqToSql(用于培训)。是否可以在 linqToSql 查询中使用 SQL 函数?

0 投票
3 回答
768 浏览

linq - LinqtoSQL 过滤器和按语法排序

我的 Techie Bretheren(当然还有 Sisteren!),

我有一个具有以下实体的 LinqToSql 数据模型: 数据模型 http://danimal.acsysinteractive.com/images/advisor.jpg

我需要检索特定办公室的所有顾问,按他们在办公室内的顺序排序。我的第一部分与连接一起工作:

但是,我似乎无法将疲惫的大脑包裹在 order by 子句中。任何人都可以提供一些建议吗?