问题标签 [entity-framework-4]
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.
entity-framework - How to tell if any entities in context are dirty with .Net Entity Framework 4.0
I want to be able to tell if there is any unsaved data in an entity framework context. I have figured out how to use the ObjectStateManager to check the states of existing entities, but there are two issues I have with this.
- I would prefer a single function to call to see if any entities are unsaved instead of looping though all entities in the context.
- I can't figure out how to detect entities I have added. This suggests to me that I do not fully understand how the entity context works. For example, if I have the ObjectSet myContext.Employees, and I add a new employee to this set (with .AddObject), I do not see the new entity when I look at the ObjectSet and I also don't see the .Count increase. However, when I do a context.SaveChanges(), my new entity is persisted...huh?
I have been unable to find an answer to this in my msdn searches, so I was hoping someone here would be able to clue me in.
Thanks in advance.
entity-framework - 查找实体框架上下文
通过我在这里和其他论坛提出的各种问题,我得出的结论是,当涉及到 Entity Framework 中生成的实体上下文对象时,我不知道自己在做什么。
作为背景,我有大量使用 LLBLGen Pro 的经验,而 Entity Framework 对我来说大约三周前。
假设我有一个名为“myContext”的上下文。在我的模型中有一个名为 Employee 的表/实体,所以我现在有一个 myContext.Employees。我假设这意味着该属性表示我上下文中的一组 Employee 实体。但是,我认为是错误的,因为我可以通过以下方式将新实体添加到上下文中:
这个新的 Employee 实体在 myContext.Employees中没有出现。据我所知,找到这个新添加的实体的唯一方法是在 myContext.ObjectStateManager 中找到它。这听起来像是 myContext.Employees 集实际上不是上下文中的 Employee 实体集,而是存在于数据库中的 Employee 实体的某种表示。
为了进一步增加这种混乱,假设我正在查看单个 Employee 实体。有一个与 Employee 有 M:1 关系的 Project 实体(一个员工可以有多个项目)。如果我想为特定员工添加一个新项目,我只需:
太好了,这实际上将项目添加到集合中,正如我所期望的那样。但这与 ObjectSet 属性脱离上下文的工作方式背道而驰。如果我将一个新项目添加到上下文中:
这不会改变项目集。
如果有人向我解释这一点,我将不胜感激。另外,我真的想要一个上下文中所有员工(或项目)的集合,并且我希望它可以作为上下文的属性使用。EF可以做到这一点吗?
.net - Linq guru - 过滤相关实体
我的表结构如下:
在此查询结束时,我需要一个填充的对象图,其中每个人都有他们的:
- 个人地址
- 个人电话的
- PesonEmail的
- 个人电话的
- 合同的 - 这有其各自的
- 程式
现在我有以下查询,我认为它工作得很好,但它有几个问题:
问题在于它会根据标准过滤人员,而不是合同或合同的程序。它带回了所有合同,每个人不仅拥有 OrganizationId 为 x 的合同,而且每个合同的程序也同样如此。
我想要的只是那些至少有一个合同的组织 ID 为 x 的人,并且该合同有一个 ID 为 y 的程序......并且返回的对象图只有匹配的合同和该合同中匹配的程序。
我有点明白为什么它不工作,但我不知道如何改变它,所以它工作......
这是我迄今为止的尝试:
但这有几个问题(其中 Person 类型是 EF 对象):
- 我只能自己做映射,在这种情况下,有很多东西要映射
- 当我尝试将列表映射到属性(即奖学金 = currentScholarships)时,它说我不能因为
IEnumerable
试图被转换为EntityCollection
- 包含不起作用
因此,我如何让它发挥作用。请记住,我正在尝试将其作为编译查询来执行,所以我认为这意味着匿名类型已被淘汰。
entity-framework - EF 4 - 与不匹配的键的关联
我们使用 POCO 并有 2 个实体:Item 和 ItemContact。每个项目有 1 个或多个联系人。
项目具有作为主键:
项目 ID 语言代码
ItemContact 有:
项目 ID 联系人 ID
我们不能添加与引用约束的关联,因为它们具有不同的键。没有严格的主键/外键,因为 ItemContact 中没有 languageCode,Item 中没有 ContactID。
如果没有直接链接但我仍然想查看某个项目的联系人,我们如何才能将此与项目的联系人关联进行映射?
其中一个实体源自数据库视图,因此无法将外键添加到数据库
谢谢
斯蒂芬·沃德
entity-framework - EF4 可以支持批量更新吗?
Entity Framework v4 是否支持批量更新/插入,因此它可以一次性向数据库发送 >1 个命令,而不是向数据库发送 >1 个命令?
谢谢
c# - 将 Entity Framework 1.0 升级到 4.0 以包含外键
目前,我一直在使用位于服务外观下的 Entity Framework 1.0。
以下是我创建的用于更新或插入相关设备的保存方法之一。
这目前有效,但是,我不禁觉得它有点黑客必须将引用的属性设置为 null 然后重新附加它们只是为了让插入工作。changedDevice 已经保存了这些值,为什么我需要再次分配它们。
所以,我想我会将模型更新为 EF4。这样我就可以直接访问外键。但是,在这样做时,我发现似乎没有一种简单的方法来添加外键,除非从图中删除实体并重新添加它。我不想这样做,因为我已经完成了从数据库列名重命名它们的所有实体属性。任何人都可以帮忙吗?
orm - 实体框架:从类生成数据库
是否可以使用实体框架 4.0 从类创建数据库?我找到了很多关于如何反过来做的教程。但是由于我们已经实现并测试了该领域的所有类,我们希望避免对它们进行太多更改。如果我在 Google 中使用了错误的关键字,我将不胜感激您可以发布链接。
干杯,加利福尼亚
visual-studio - 如何让 IBM DB2 提供者与 Entity Framework 4.0 一起工作
有人可以告诉我如何让 DB2 提供程序显示在“更改数据源”对话框窗口中吗?
脚步:
- 右键单击 edmx 设计图面。
- 选择“从数据库更新模型”
- 在更新向导上,单击“新建连接”
- 在“数据源”文本框旁边,单击“更改...”
在“更改数据源”窗口中,我只在列表中看到以下数据源:
当我选择“其他”时,我在数据提供者下拉列表中只看到两个条目:
如何让 DB2 提供者出现在这里,以便我可以使用它们来为我的 DB2 表建模?
我能够使用 VS2010 Server Explorer 成功连接到 DB2。连接字符串是:
提供者被列为:
提前谢谢了
entity-framework-4 - EF4 跨数据库关系
我想知道 EF4 是否支持跨数据库关系?例如:
db1
数据库2
理想情况下,我需要做什么才能在我的 ef4 模型中获得这种关系?
你们有什么想法吗?
谢谢
caching - Help me understand entity framework 4 caching for lazy loading
I am getting some unexpected behaviour with entity framework 4.0 and I am hoping someone can help me understand this. I am using the northwind database for the purposes of this question. I am also using the default code generator (not poco or self tracking). I am expecting that anytime I query the context for the framework to only make a round trip if I have not already fetched those objects. I do get this behaviour if I turn off lazy loading. Currently in my application I am breifly turning on lazy loading and then turning it back off so I can get the desired behaviour. That pretty much sucks, so please help. Here is a good code example that can demonstrate my problem.
Why is the first block of code making unnessesary round trips?