问题标签 [linqdatasource]

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 投票
1 回答
1831 浏览

linqdatasource - LinqDataSource "OnSelecting" event not firing on Post-backs

I have a web page with two dropdownlist controls, each bound to separate LinqDataSource objects. One displays a list of Categories and the other displays a list of Articles. The Category choice drives Article list (at least, that's my intended behaviour). The Article list is also filtered based on the users language preference, stored in the Session and applied in the ArticleLinqDataSource_Selecting event handler.

This all works fine when the page first loads. The Category list contains the all the available category values, and the first category in the list is selected. And the corresponding Articles for the first category are displayed appropriately in the Article dropdown control. However, when I change the category (a post-back happens because I have it set to AutoPostBack="true", the Article dropdown does not get refreshed. In other words, the OnSelecting event is not getting fired on subsequent postbacks. Is this the expected bahaviour? If it is, how do I get around this?

0 投票
1 回答
815 浏览

asp.net - LinqDataSource - 是否可以使用带有 dbnull 值的默认插入参数?

我需要在 ASP.Net 页面上做一些简单的(或者看起来)数据绑定和 CRUD 类型操作。我正在使用与 FormView 连接的 LinqDataSource。我试图插入的表具有这些字段的默认约束:

执行插入时,我收到 SQL 日期时间溢出错误,因为它试图将值插入 Created 和 Modified,即使我没有将任何内容绑定到这些字段。

我的问题是如何让 LinqDataSource 在插入语句中省略这些字段,或者至少提供 dbnull 或 null 以允许数据库级别的默认值接管?

0 投票
2 回答
4807 浏览

datacontext - LinqDataSource DataContext 对象未显示在配置数据源中

我在我的项目中添加了一个 LinqToSQL 类并将其放在我的 App_code 文件夹中。

然后,我将 LinqDataSource 添加到新网页并尝试将其配置为使用此类,但它没有显示为 DataContext 下拉菜单中的选项。

我将该类移动到我的项目的根目录,现在它可以在 DataContext 下拉框中使用。

我创建了一个只有 1 页的新项目,然后再次尝试,结果还是一样。如果该类不在我的根目录中,则它不可用。

我已经搜索了互联网,我发现的所有内容都表明该类应该在我的 App_code 文件夹中,但如果我把它放在那里它就不起作用。

如果我把它放在 App_code 文件夹中,有谁知道为什么该类不可用。

谢谢你

0 投票
2 回答
578 浏览

c# - 是否可以将 LinqDataSource.OrderBy 设置为方法的结果?

我没有广泛使用 LINQ,但是我使用它的次数越多,我就越意识到它的强大功能。如果您想从有界项的属性中排序,使用 LinqDataSource.OrderBy 子句显然很容易,但如果您想根据方法返回对项进行排序怎么办?以这门课为例(请忽略古怪的设计——它只是用来强调我的观点):

有没有一种方法可以在 LinqDataSource 上设置 orderby 表达式,以便它使用从 GetSortValue 返回的值(即按属性以外的其他成员排序)但不改变 DataItem 类?

0 投票
2 回答
375 浏览

asp.net - 在 Web 表单中使用 LinqDataSource 的错误消息

编码平台:ASP.NET 4.0

我正在将 GridView 与 LinqDataSource 绑定并启用 AutoDelete 功能。
GridView 绑定到 Products 表。
我有一个产品表和一个与 CategoryID 关联的类别表。
如果我尝试删除产品表中引用的类别,我将无法这样做。
这是完全可以接受的,但我希望最终用户收到一些错误消息的通知。
在哪里捕获此错误消息?

0 投票
1 回答
1178 浏览

.net - 我可以让 EnableUpdate 和 EnableDelete 在 EF4 LinqDataSource 上工作吗?

所以我大约在 2 年前开始使用 Linq-To-Sql,但我的公司正在推动我切换到 Entity Framework v4。不想在这里讨论 L2s 与 EF 的争论,请假设我无法切换回 L2S。

无论如何,在良好的 L2S 中,我会定义一个网格视图或列表视图,然后定义一个具有 EnableUpdate=true、EnableDelete=true 和 EnableInsert=true 的 LinqdataSource。我会将gridview 或listview 的DataSourceID 分配给linqdatasource 和BAM 的ID!即时 CRUD。

但是,对于 EF4,似乎缺少这种自动无代码 CRUD。在 Visual Studio 2010 设计屏幕中,我的 Gridview 任务窗口不显示“启用编辑”或“启用删除”。这些项目曾经出现在我的 L2S 应用程序中,此外,当我手动将 EnableX=true 属性添加到我的 LinqDataSource 时,我在尝试更新时收到错误消息: “LinqDataSource 'lds1' 使用的数据上下文必须在以下情况下扩展 DataContext删除、插入或更新操作已启用。”

那么有没有办法让 EF4 服从我在 LinqDataSource 上的 EnableUpdate/Delete/Insert 命令?

谢谢!

0 投票
1 回答
1255 浏览

gridview - ASP.NET - 绑定到 LinqDataSource 的 FormView 显示数据但不会更新数据库(但是会触发更新事件)

我有一个绑定到 LinqDataSource 的 FormView,旨在允许编辑从 GridView 中选择的单个产品的详细信息。LDS 有一个 Where 参数设置为指向 GridView 控件(即 ControlParameter):

FormView确实显示了我在 GridView 中选择的任何产品记录。但是,当我单击更新时,不会对数据库运行更新

这是我所看到的:

  • 在 FormView 的 ItemCommand 处理程序中,发生了 Update 命令
  • 接下来,LDS 的 Updating 事件会触发,但是如果我查看 e.NewObject 附加了一个 Product 对象,但它只设置了 ProductID(设置为正确的值)——所有其他属性都没有设置。毫无疑问,这就是为什么更新永远不会命中数据库的原因。

我已经尝试将 FormView 显式设置为编辑模式,并在 FormView 的 ItemCommand 处理程序中对其进行数据绑定,但这没有区别,即:

我只是不明白 FormView 在显示其数据时如何清楚地绑定到 Product 对象,但在 Update 命令运行时会丢失它。

顺便说一句,我正在为 DataContext 使用自定义构造函数,但是如果我用通常的 ContextTypeName 替换 OnContextCreated,问题仍然会发生。

0 投票
1 回答
700 浏览

sql - How to lock a SQL record with LinqToSql?

I'm using a LinqToSql DataContext and I want to lock a record for being opened in write mode. Meaning while one user in Hong Kong has a record open in write mode, another user in France can't open that record in write mode. How?

0 投票
2 回答
899 浏览

asp.net - 加速 LinqDataSource

您好,我有以下问题。假设数据库中有两个表:

第二个引用第一个,即每个订单都分配给客户。现在假设我有一个 .aspx 页面,其中包含一个LinqDataSource for Orders 表,以及一个使用此数据源并显示具有以下列的表的 GridView:

  1. 订单名称。
  2. 订单说明
  3. 客户名称。
  4. 客户地址。

据我了解,Linq to SQL 的设计方式是,默认情况下它不加载任何关联实体,仅在请求子属性时才加载。所以,当一个页面被加载时,会出现以下情况:

  1. 第一个查询将从 Orders 表中检索记录。
  2. 对于 GridView 显示的每一行,当请求其中一个客户端属性时,将执行一个附加查询。

因此,如果我们有 100 个订单,这意味着将执行 101 个查询而不是一个(或者甚至可能是 201 个,如果将为每个客户端属性执行一个查询)?如何避免这种情况并让 LinqDataSource 通过单个查询加载所有必填字段?

现在我看到这个问题的唯一解决方法 - 使用带有连接查询的 SqlDataSource,它将一次检索所有必需的字段。

0 投票
1 回答
532 浏览

c# - LinqDataSource 因未知原因引发 ChangeConflictException

我目前正面临一个旧项目的奇怪问题。该项目使用 FormView 来编辑数据。FormView 绑定到 LinqDataSource。更新编辑的对象后,我确实收到了

例外。我已经用谷歌搜索了一段时间,到目前为止我读过的帖子告诉我,这是一个并发问题。我同意,如果在此期间真的会有其他人更新数据,但没有人这样做。

这是 LinqDataSource 的样子:

这是 FormView 的开始标记:

更新由 ImageButton 引发:

我能做些什么来解决这些问题。似乎并非每一行都受此影响。几个小时前,我使用另一个 Web 应用程序连续更改了一个值。从那时起,我已经重建并清理了我目前多次遇到问题的 Web 应用程序,但这并没有改变任何事情。

实际上,我正在寻找可以设置为 false 的“DisableConcurrency”属性,但不幸的是 LDS 没有提供这样的东西。

有什么建议么?