问题标签 [loadoptions]

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 投票
2 回答
206 浏览

c# - 何时使用 LINQ2SQL 加载相关表中的记录

假设我有两张桌子:

  • 报告
  • 评论

并假设我有一个数据库上下文:

如何确保每个报告的所有评论都已加载?

此时我想断开与数据库的连接,但仍然可以访问评论。(例如:)

0 投票
4 回答
2738 浏览

c# - 编译的 LINQ 查询和 DataLoadOptions... 有点扭曲!

我知道这里讨论的方法:

解决高需求 ASP.NET 网站的 Linq to Sql 中编译查询的常见问题

...但这不适用于我的情况,因为我得到了:

“从查询返回结果后,不允许设置加载选项。”

我正在使用 Codesmith PLINQO 脚本生成实体和管理器代码,管理器代码如下所示:

我首先尝试将静态 DataLoadOptions 放入 Searchmanager 类中,如下所示:

...然后将其提供给 GetAll 方法中的上下文,例如:

...这给了我上面提到的错误。这是因为查询已经编译,因此不能添加“额外的”DataLoadOptions?如果是这样,如何在编译查询之前应用 DataLoadOptions?

0 投票
1 回答
57 浏览

linq - LINQ:我可以使用 DataLoadOptions 加载多于一代的后代吗?

我正在使用以下 DataLoadOptions:

Family 对象返回一个 FamilyLanguages 列表,但 FamilyLanguages 只有一个 LanguageID,Language 对象为空。

这是在 Visual Studio 2010 Beta 2 下工作的,但现在我使用的是 Visual Studio 2010 Release Candidate。这不再是正确的方法吗?LINQ 有什么变化吗?

0 投票
0 回答
405 浏览

asp.net-mvc - 允许更改 DataLoadOptions 的随机 DataReader 错误和特定于线程的 DataContext

我的 .NET MVC 项目已经到了对多个用户进行测试的阶段,我收到了与 Linq2Sql DataReader 问题相关的看似随机的错误(来自站点中的任何屏幕),例如:
“阅读器关闭时调用 FieldCount 的尝试无效。” 和
'ExecuteReader 需要一个开放且可用的连接。连接的当前状态是关闭的。
如果双击链接或浏览器中的多个选项卡或同时刷新不同浏览器时,这些错误在单用户测试期间出现的频率也较低。

我想知道这些问题是否归结为 DataContext 线程问题。

目前,我正在使用存储库方法,每个业务流程都有单独的存储库。每个存储库类在其构造函数中启动一个 DataContext 实例,存储库中的大多数方法都使用该实例。
然而,一些方法正在更新 DataLoadOptions 以强制预先加载视图数据,因此这些方法创建了它们自己的 DataContext 实例。
此外,在某些屏幕上,还会显示来自多个业务对象的信息,因此单个请求中可能涉及 2 或 3 个存储库。因此,每个请求可能会创建许多单独的 DataContext 实例。
我尝试在必要时使用 DataLoadOptions 并在查询结果上应用 ToList() 来强制执行急切加载方法,以确保预先加载所有内容(而不是等到视图呈现) - 所以每个 DataContext 应该只打开一个相当短的时间。

由于错误似乎与重用相同 DataContext(s) 的多个线程有关,我正在考虑按照 Rick Strahl 的线程特定 DataContextFactory ( http://www.west-wind.com ) 为每个请求实现单个 DataContext /weblog/posts/246222.aspx)或更简单的“工作数据存储单元”方法,如史蒂夫桑德森的示例(http://blog.stevensanderson.com/2007/11/29/linq-to-sql-the-multi -层故事/)。

但是接下来需要解决 DataLoadOptions 的问题。我可以创建其他特定于线程的 DataContext,但这似乎偏离了我对每个请求使用单个 DataContext 的目标。因此,我正在考虑重用相同的 DataContext 但暂时更改某些方法的 LoadOptions ,如 Kevin Watkin 的示例(http://www.mrkwatkins.co.uk/Blog/2010/05/
或废弃标准 DataLoadOptions 方法Roger Jennings 在 Visual Studio 杂志 ( http://visualstudiomagazine.com/Articles/2007/11/01/Optimize-LINQ-to-SQL-Performance.aspx?页=3 )

所以我的问题是有没有人遇到过类似的随机 DataReader 问题,你是如何解决它们的,我是否有可能通过实施我链接到的那些解决方案来解决问题?

与往常一样,时间很紧——所以如果问题实际上出在其他地方,我不想花时间实施解决方案。任何帮助将不胜感激!

PS。恐怕这是一个相当高级的问题,我没有包含任何具体的代码示例,因为我不确定问题到底出在哪里。

0 投票
3 回答
1574 浏览

c# - 如何判断 LinqToSql DataContext 之前是否返回过结果

LoadOptions在LinqToSql 上设置属性时DataContext,如果上下文已经从另一个查询返回结果,则抛出异常“从查询返回结果后不允许设置加载选项”。

我想知道的是,有没有办法检查 DataContext 对象以查看它是否已经返回了先前查询的结果?

0 投票
1 回答
97 浏览

linq-to-sql - 重写 LinqToSql 查询以在没有 LoadWith 的情况下返回相同的实例

我正在调查 CompiledQuery 的性能,但 CompiledQuery 对 LoadWith 过敏。

此代码填充通过发出左连接 sql 查询加载的每个 Customer 实例的 Orders 属性。如何在没有 LoadWith 的情况下重写查询以获得相同的结果(客户已填充 Orders 属性)?

0 投票
1 回答
1981 浏览

c# - 有什么方法可以加快 datatable.LoadDataRow() 的速度吗?

我通过DataTable.LoadDatatRow如下调用刷新数据表:

现在,为了便于阅读,这有点简化,并且LoadDataRow行有点长(大约 9 个数组值),但不包含大的函数调用或任何东西,只是格式化字符串和一些?情况。当我的表中有约 50 个值时,此代码可以正常工作,并且刷新频率约为 10 Hz。但是一旦我得到比正常更多的值(比如 200),它就会呈指数增长,我得到 ~0.2 Hz。这太慢了。

有谁知道为什么当我有大量可枚举的读数时,我的速度会呈指数级下降?是否与它有关OverWriteChanges(我很确定我需要其他原因);或者可能在 中创建一个对象LoadDataRow,还是有其他原因?

我玩过不同的游戏LoadOptions,这似乎不是问题。我只是无法解释为什么我看到处理时间如此巨大的增加,而且我不知道如何解决它。

0 投票
0 回答
70 浏览

javascript - 当 AsyncSelect 被另一个组件包装时,不会调用 loadOptions

我有一个包含 react-select组件的AsyncSelect组件:

包装器组件的render()函数如下所示:

但是,loadOptions根本没有被调用。如果我去掉包装组件,AsyncSelect直接在父组件中使用,一切都会按预期工作。

我在这里想念什么?

0 投票
1 回答
113 浏览

javascript - 不调用 react-select 异步回调

我正在使用 react-select 的 AsyncSelect 组件,并尝试使用以下代码从回调中解决它:

asyncFunctionWithCallback()是一个异步函数,它接收在 promise 被解决时调用的回调:

我试图callback()asyncFunctionWithCallback()回调中调用 react-select,但似乎它没有被调用,因为asyncFunctionWithCallback()它被永远重复调用。

我想我没有正确传递回调,但无法弄清楚我做错了什么。

0 投票
0 回答
76 浏览

datagrid - 如何将 DevExtreme DataSourceLoadOptions 应用于 ODataClient?

我正在尝试在 asp.net 核心 MVC 应用程序中使用 DevExtreme 数据网格,但我不想将数据网格耦合到 OData 源并直接在 cshtml 文件中提供 OData 服务 ULR 以更好地控制如何获取数据。所以我使用了一个接收 DataSourceLoadOptions 对象的 MVC 控制器操作。我希望能够从 Simple.OData.Client.ODataClient 对象中获取数据。

但是我无论如何都找不到将 DataSourceLoadOptions 转换为 ODataClient 表达式。有没有办法做到这一点?

谢谢。