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

linq - LinqToEntities 不检索实体的子对象

我第一次尝试 Linq 并且在检索实体的子对象时遇到了一些困难。我有一个与部门表有一对多关系的课程表(即一个部门可以有一门或多门课程)。

当我选择特定部门时,我想将与该特定部门相关的课程绑定到网格视图,但是 coursecount 变量总是返回零,即使有许多与该特定部门相关的课程。除课程对象外,部门对象似乎已正确填充。

我错过了一些明显的东西吗?

0 投票
1 回答
670 浏览

entity-framework - 实体框架:一个大模型还是一组小模型?

最近,我们一直在讨论在工作中使用实体框架的方法。我们有一个相当大且复杂的基于网络的 n 层应用程序,该应用程序需要进行大修。

问题是:如果我们从哪里开始使用实体框架,是创建一个大模型还是一组较小的基于功能/活动的模型更好。

我对此有自己的看法,但很想听听其他人的想法。

更新(2008 年 11 月 17 日):我一直在为家里的小项目创建一个模型,将其清除并重新创建等。虽然我没有尝试过,但我怀疑这种方法在涉及大量实体类型时会更具挑战性。

另外,有没有人在使用 TFS 或类似工具的大型团队中使用 ef 的经验?

0 投票
4 回答
5982 浏览

c# - Linq to Entities 和级联属性

有谁知道是否可以在现有实体类型上创建一个新属性,该实体类型基于连接在一起的 2 个其他属性?

例如,我的人实体类型有这些字段“ID”、“名字”、“姓氏”、“出生日期”

我想创建一个名为“全名”的新字段,它是

所以我最终得到“ID”、“Forename”、“Surname”、“DOB”、“Fullname”。

我知道我可以以编程方式使用 Linq 来做到这一点,即

然后调用类似的东西

但是,我真的很想在概念模型级别使用 Linq to Entities 为我完成这项工作。

0 投票
1 回答
1160 浏览

c# - 在实体框架的 EdmItemCollection 中定位 getter 和 setter 访问修饰符

我一直在为我的实体的存储库模式创建一个不错的 T4 模板。我没有手动解析 edmx 文件中的 xml,而是使用 EdmItemCollection 为概念模型创建对象图表示。

我已经能够从这个模型中获得很多信息。但是我找不到 Getter 和 Setter 访问修饰符的位置。它们存在于 edmx 文件的 CSDL 部分。

例子:

我应该在对象图中的哪个位置查找此信息?

这是我如何解析对象树的示例。

我希望很清楚我要去的方向。

在通过 EdmItemCollection 的代码进行大量反射后,它不会加载http://schemas.microsoft.com/ado/2006/04/codegeneration架构,因此它只是忽略了这些属性。

但我希望有人可以帮助我找出如何找到这些信息?

0 投票
7 回答
145184 浏览

c# - 如何使用 Linq to Entity 获取最大 ID?

我有一个表用户,它有一个身份列UserID,现在什么是正确的 Linq to Entity 代码行,它将返回我的最大值UserID

我试过了:

但似乎不受支持LastMax

有任何想法吗?

0 投票
3 回答
71212 浏览

c# - 如何构造 LINQ to Entities 查询以直接加载子对象,而不是调用 Reference 属性或 Load()

我不熟悉使用 LINQ to Entities(或他们所称的实体框架),我正在编写很多这样的代码:

然后像这样在该对象上调用方法:

或者

检索子对象或相关对象。

我没有对数据库进行分析或深入挖掘,但我的猜测是,当我调用 .Load() 或 *Reference 属性时,我实际上是在再次调用数据库。如果是这种情况,有没有办法在我的初始 LINQ 表达式中获取这些对象?

0 投票
2 回答
11709 浏览

sql - 在 LINQ to Entity 中优化 Group By

我在 LINQ to Entities 中有这个查询。

我知道这是一种“邪恶”查询,但它只用于管理界面。但是它生成的 SQL 绝对是可怕的。看看这个宝贝。

code>

I do not as anyone to explain that query but it would be great to get some tips on how to optimze the query so that it just do a simple regular join. Something like this works as fine if I write the SQL myself.

顺便说一句,我喜欢这个网站。惊人的设计和可用性!希望得到一些帮助会很好:)

0 投票
1 回答
1031 浏览

sql - 如何将 SQL 代码“有”条件转换为 LinqToSQL 或 LinqToEntites?

你能告诉我如何将下面的 SQL 代码翻译成 Linq To SQL 或 Linq To Entites 吗?

正确的 SQL 代码是:

select CollectId,url,userid,pubtime from Collect group by url,collectid,userid,pubtime 具有 pubtime >= (select max(pubtime) from collect d where d.url = collect.url ) 按 Collect.pubtime desc 排序

数据库表脚本是:

如果存在 (select * from sysobjects where id = OBJECT_ID('[Collect]') and OBJECTPROPERTY(id, 'IsUserTable') = 1) DROP TABLE [Collect]

CREATE TABLE [Collect] ( [CollectId] [int] IDENTITY (1, 1) NOT NULL, [Url] [nvarchar] (200) NULL, [UserId] [nvarchar] (50) NULL, [PubTime] [datetime] NULL )

ALTER TABLE [Collect] WITH NOCHECK ADD CONSTRAINT [PK_Collect] PRIMARY KEY NONCLUSTERED ([CollectId] ) SET IDENTITY_INSERT [Collect] ON

插入 [Collect] ([CollectId],[Url],[UserId],[PubTime]) 值 (1,'www.sohu.com','Mike','2008-10-10 0:00:00')插入 [Collect] ([CollectId],[Url],[UserId],[PubTime]) 值 (2,'www.echina365.com','Lily','2008-10-15 0:00:00')插入 [Collect] ([CollectId],[Url],[UserId],[PubTime]) 值 (3,'www.php.com','Tom','2008-10-20 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES (4,'www.echina365.com','姚明','2008-10-23 0:00:00')插入 [Collect] ([CollectId],[Url],[UserId],[PubTime]) 值 (5,'www.echina365.com','Mike','2008-10-25 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES (6,'www.sohu.com','Jack','2008-10-26 0:00:00') 插入 [Collect] ([CollectId],[Url],[UserId],[PubTime]) 值 (7,'www.echina365.com','Tracy',' 2008-11-2 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES (8,'www.php.com','YaoMing',' 2008-11-5 0:00:00')

SET IDENTITY_INSERT [收集] 关闭

0 投票
1 回答
421 浏览

c# - 如何自定义 ObjectQuery 的 Execute 方法?

我的数据库中有一个类似分区的数据库模式。

有一个名为“分区”的表SITE,并且每个其他表都有该表的外键 ( SITE\_FK)。

我为 ObjectContext 编写了一个部分类,添加了一个SITE\_ID属性和一个设置该属性的构造函数。

现在,在我用一些实例化 ObjectContext 之后,SITE\_ID我需要用这个 ObjectContext 构建的每个查询都测试它SITE\_FK = SITE\_ID(存储在 ObjectContext 中)。最好不必在代码中的每个查询中显式测试它,而是在 ObjectQuery 中以某种方式“内部”测试它。

第一个想法是向 ObjectQuery.Execute 方法添加一些功能,该方法向查询添加了一个 Where 但我找不到如何执行此操作。

有任何想法吗?

0 投票
1 回答
444 浏览

linq-to-entities - LinqToEntities 和外键

我正在尝试使用 LinqToEntities,只是注意到数据模型中没有外键字段。在尝试添加记录时,这似乎会造成一些麻烦。

环顾四周,我发现在添加记录时,您可以执行以下操作(产品具有类别表的外键)。

我确信有更好的方法来做到这一点。但我的问题是真的,这是它在 LinqToEntities 中的工作方式吗?在我看来,这比简单地给它一个外键(即 myProduct.CategoryID = categoryid)要复杂得多。

如果我在一个表中有 5 个外键,我将不得不检索 5 个对象才能将它们链接起来?

我可以看到执行上述操作可能有意义并且有好处,但是如果您只是尝试将 1 条记录添加到在另一个表中具有单个外键的数据库中,则看不到好处。