问题标签 [linq-to-entities]

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 回答
536 浏览

linq - 如何扩展 ADO.NET 实体设计器?

有谁知道如何扩展,即向 Visual Studio 中的实体设计器添加功能?

例如,我想在设计器上右键单击实体的属性,并在上下文菜单上有一个新选项,允许我做任何我想做的事情。

0 投票
4 回答
19907 浏览

c# - 当生成的查询只需要 1/2 秒时,为什么 Entity Framework 需要 30 秒来加载记录?

下面的executeTime第一次是30秒,下次我执行同一组代码时是25秒。在 SQL Profiler 中观看时,我立即看到一个登录名,然后它就在那里停留了大约 30 秒。然后,只要运行 select 语句,应用程序就会完成 ToList 命令。当我从 Management Studio 运行生成的查询时,数据库查询只需要大约 400 毫秒。它返回 14 行和 350 列。看起来将数据库结果转换为实体所需的时间是如此之小以至于不明显。

那么在进行数据库调用之前的 30 秒内发生了什么?

如果实体框架这么慢,我们是不可能使用它的。有什么我做错了或者我可以改变什么来大大加快速度吗?

更新: 好吧,如果我使用编译查询,第一次需要 30 秒,第二次需要 1/4 秒。我能做些什么来加快第一次通话的速度吗?

0 投票
11 回答
94357 浏览

linq - 更新您的 edmx 以反映您的数据库中所做的更改(.net linq-to-entities)

  • 所以我制作了我的 edmx。
  • 然后我稍微更改了我的数据库,将列从 NOT NULL 更改为允许 NULL。
  • 我进入我的 edmx,右键单击并选择“从数据库更新模型”

现在我进入我的程序,它实际上并没有更新......我不能在列中放置一个空值。我该怎么做才能正确更新 edmx?谢谢你。

0 投票
2 回答
1151 浏览

linq - 是否可以从 Visual Studio 2008 中的 edmx 更新 sql 数据库架构?

因此,使用 LINQ-to-SQL 我知道您可以从 LINQ 对象更新数据库并从 SQL 更新 LINQ 对象。

我正在使用 LINQ 的实体框架(又名 LINQ-to-entities),我可以更新 SQL 数据库中的实体,但我无法通过更改实体来更新数据库架构。

这令人沮丧。有什么我想念的吗?难道我做错了什么?如果 Visual Studio 2008 无法做到这一点,是否有插件或其他 3rd 方应用程序可以做到这一点?

0 投票
1 回答
1171 浏览

linq-to-entities - Eager-loading 和 LINQ to Entity

据我所知,LINQ to entity 鼓励使用Load()or进行急切加载Include()。但是,我想知道在多层应用程序中应该在哪里进行急切加载?

数据访问层(封装实体实例的存储库类)具有通用Item GetItem(int id)功能是否正确,并且在业务逻辑层中执行

或者存储库类应该有不同的显式函数来加载不同的外部关系,因此返回预先加载的关系项?

非常感谢!

编辑: 示例 - http://www.asp.net/learn/mvc/tutorial-29-cs.aspx

该函数返回一个Contact实体类型。但是,取决于业务逻辑的需要,我们可能想要Load()或不同的实体Include()的对外关系。Contact这个要求是否意味着我们需要更多带有参数的重载GetContact()方法来指示要加载哪些关系,或者只是执行Load()业务逻辑?

0 投票
1 回答
127 浏览

c# - L2E Web 应用程序的连接字符串

我们有一个具有 L2E 对象上下文的类库 (ProjA)。这将用于网站 (ProjB) 和 WCF 服务 (ProjC)。如何在网站 (ProjB) web.config 中指定连接字符串,以便它使用类库项目 (ProjA) 中的资源文件。

我尝试用 ProjA 全名替换 *,但它无法加载该 dll

0 投票
6 回答
28563 浏览

c# - 如何附加不是来自数据库的实体框架对象?

我完全分离了我的实体框架对象和我的 POCO 对象,我只是来回翻译它们......

IE:

然后我有一个具有相同属性的 EF 对象“作者”..

所以我有我的业务对象

我想保存这个对象,所以我执行以下操作:

但这给了我以下错误:

具有空 EntityKey 值的对象不能附加到对象上下文。

编辑: 看起来我必须使用entities.AttachTo("Authors", dbAuthor); 在没有 EntityKey 的情况下附加,但是我有硬编码的魔法字符串,如果我完全更改我的实体集名称,它会中断并且我不会有任何编译时间检查...有没有一种方法可以附加来保持编译时间检查?

我希望我能够做到这一点,因为硬编码的字符串会扼杀编译时验证 =)

0 投票
2 回答
2045 浏览

c# - CompiledQuery 与普通 Linq SQL 生成

所以我正在对访问我的 SQLServer 数据库的不同方法进行一些分析。我做了 vanilla TSQL、CompiledQuery 和非编译的 Linq 语句。

正如预期的那样,性能以相同的顺序进行,但在分析后两者时我注意到了一些奇怪的东西。

CompiledQuery 生成的 SQL 比普通的旧语句生成的要好得多。

本地 SQLExpress 数据库;表称为'foreignTable',ColumnA是int,主键(索引);ColumnB 是一个随机整数。

生成

对于生成的代码,这真的不算糟糕。

但是当我做简单的 Linq 语句时:

它生成:

这太糟糕了。

所以我想问题是:是否可以为实体提供与 CompiledQuery 相同数量的 SQL 吸力的常规 Linq?

0 投票
5 回答
2193 浏览

c# - HttpContext 的服务器端等价物?

我有一个当前使用当前 HttpContext 来存储 LINQ 数据上下文的 Web 应用程序。根据Rick Strahl 的博客,基于每个用户的当前请求的上下文是持久的:

但是,我有一些从 global.asax 文件执行的脚本,它们没有HttpContext。 HttpContext.Current 是 NULL,因为服务器是发出“请求”的服务器。

是否有可用于存储数据上下文的等效对象?所以我不必担心重新创建它和附加/分离对象?我只想在我的流程的整个生命周期中保留上下文。

更新:

我目前正在尝试在我的 DAL 助手类中使用静态变量。在第一次调用类中的一个方法时,DataContext 被实例化,并存储在静态变量中。在我的过程结束时,我调用另一个在 DataContext 上调用 Dispose 的方法,并将静态变量设置为 NULL。

0 投票
2 回答
1503 浏览

asp.net-mvc - 寻找 EF 存储库的代码示例或“模板”

我正在寻找一个好的实体框架存储库代码示例或模板。