问题标签 [entity-framework-6.1]
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.
c# - 在 EF 上重复“where”子句
如何使 EF 'where' 子句重复如下内容:
现在,标题和作者当然会来自 List 对象,例如:
我可以在这里使用包含,但要求是相应地匹配标题和作者。由于作者和标题是参数,我不能只对它们进行硬编码并进行简单查询
示例 SQL 查询将是:
c# - 两个连接类中的实体框架外键错误
我在 ASP.NET MVC 中使用实体框架 6.1。
我的模型是:
此示例工作正常,但添加新 poco 时:
上课Formula
我得到错误:
Formula_Items_Source_Formula_Items_Target: : 关系约束中的从属角色和主要角色中的属性数量必须相同
entity-framework - 如何使用 EF 6.1 fluent API 创建空间索引
嗯,这个问题已经很清楚了。是否可以使用 Entity Framework 6.1 fluent API创建空间索引?
c# - 实体类型 [class] 不是当前上下文模型的一部分
我在本地服务器上有数据库,我正在尝试使用实体框架获取数据。VS 已经自动创建了 edmx 模型和连接字符串,现在当我尝试访问这样的数据时:
它给了我以下错误:
实体类型 Mas 不是当前上下文模型的一部分。
但问题是我只对具有一列数据geography
类型(fe Mas
)的表出现此错误。其他表工作正常。
我想知道这个问题是否只是因为那个地理数据类型而引起的,因为我已经回答了类似问题,但对我没有任何帮助。
在Mas.cs
:
编辑:
我创建了 2 个空表进行测试:
首先有 2 列 INT 和 NVARCHAR(50)
第二个有 3 列 INT、NVARCHAR(50) 和 GEOGRAPHY
只有当我想访问第二个表时它才会给我错误,所以它肯定是由地理类型引起的。
c# - EF 6.1 序列包含多个元素
我今天将我的 EF 从 5 更新到 6,我按照 MSDN 中的以下步骤操作:
http://msdn.microsoft.com/en-us/data/upgradeef6.aspx
现在的问题是,当我查询任何存储库时,例如:
我得到错误:
序列包含多个元素。
我从来没有遇到过 EF 5.0 的这个问题。
entity-framework - Foreach 循环遍历表似乎加载每一行并耗尽内存
我正在尝试使用 EF 版本 6.1.1 在 C# 中使用实体框架转储数据库表。我期待 foreach 循环一次加载每一行,但它会逐渐加载每一行,然后内存不足。
在上面的代码中,context 是已经初始化到我的数据库的 DatabaseContext,而 Quotes 是 Quote 记录的有效表。我正在尝试将每条记录转储到文件中进行备份。显然(如前所述)我可以放弃实体框架并使用 DataReader 来迭代数据库表,但框架确实允许迭代太大而无法放入内存的表。
是否有一种优雅的方式(可能是某处上下文中的标志)可以允许这样做?
通常,结果集很小(几千),但在这种情况下它会达到数百万。
似乎有一些选项适用于框架的早期版本,但除非我误解,否则这些方法和标志不再存在。
这只是测试代码,而不是常规的数据库备份。我不是在寻找更好的方式来表达我的代码。我正在寻找一种优雅的方式来使用 EF。如果 EF 只是缺少这种支持,那就是我的答案。
请不要混淆示例,如果有办法使用 EF 枚举数据库表而不将每一行加载到内存中并将其保留在那里,请回答。我可以编写其他示例,并提供其他选项来实现数据库备份。这只是一个例子。
entity-framework - 实体框架 6:有没有办法在不将每一行保存在内存中的情况下遍历表
我希望能够遍历实体表中的每一行,而无需将每一行都保存在内存中。这是一个只读操作,每一行在处理后都可以丢弃。
如果有办法在处理后丢弃该行,那很好。我知道这可以使用 DataReader 来实现(不在 EF 的范围内),但是可以在 EF 中实现吗?
或者有没有办法在不直接使用 SQL 的情况下从 EF 中获取 DataReader?
更详细的例子:
使用 EF 我可以编码:
但要使用 DataReader 获得相同的结果,我需要编写代码:
不同之处在于前者内存不足(因为它正在拉入客户端内存中的整个表),而后者运行完成(并且速度更快),因为它在任何时候只在内存中保留一行。
但同样重要的是,后一个示例失去了 EF 的强类型化,并且如果数据库发生更改,可能会引入错误。
因此,我的问题是:我们能否在 EF 中返回强类型行时得到类似的结果?
c# - 在 Entity Framework Code First 中忽略基类型是否也会忽略子类?
我正在尝试模拟一个场景,在该场景中我从 3rd 方库中的具体基类继承,然后使用 Entity Framework Code First 映射我自己的类。我真的希望我的类与基类具有相同的简单名称。我显然无法更改基类的类名,也无法将基类更改为抽象。正如预期的那样,我收到以下错误:
“EfInheritanceTest.Models.Order”类型和“EfInheritanceTest.Models.Base.Order”类型都具有相同的简单名称“Order”,因此不能在同一模型中使用。给定模型中的所有类型都必须具有唯一的简单名称。在 Code First fluent API 中使用“NotMappedAttribute”或调用 Ignore 以从模型中显式排除属性或类型。
据我了解,在 EF6 中,只要实际映射了其中一个类,这是可能的。但是,如果我尝试使用 fluent API 忽略基类,则会收到以下错误:
未映射类型“EfInheritanceTest.Models.Order”。使用 Ignore 方法或 NotMappedAttribute 数据注释检查该类型是否被显式排除。验证该类型是否被定义为一个类,不是原始的或泛型的,并且不是从 EntityObject 继承的。
...这似乎表明通过忽略基类,我也忽略了任何子类。完整代码如下。有什么办法可以解决这个问题并“忽略”子类?或者这是 EF 类型映射的限制?
c# - 如何配置与FK的一对一可选关系
由于我们架构的限制,Id
属性不能更改!
我有一个员工班:
和一个用户类(System User)
Matricula
类中的属性应该是指向具有该属性User
的类的 FK 。 Employee
Matricula
类中的Employee
属性User
表示与相同的 Employee 对象Matricula
。
如何通过 EF 中的 Fluent API 进行设置?
目标是,如果Matricula
inemployee 与 user 中的属性相同Matricula
,则它们必须关联,并且Employee
类将填充该类中的该员工User
。
vb.net - 如何优化此 EF 查询并实现分页?
我有大约 14,000 行数据。如果使用以下 EF 查询,加载时间会很长,因为我怀疑它正在加载所有 14,000 行,然后才完成任何额外的过滤。这是我的存储库中的 Select 方法。
和控制器:
视图中的助手:
例如,现在如果添加一个take
子句,.Take(500)
那么事情会大大加快。我怎样才能使这个查询更快,并且所有记录仍然有效?我还使用 Troy Goode 的 PagedList 扩展来获得分页功能。只要我得到几百条记录,一切都很好。那么该怎么办?我能找到的大多数(如果不是全部)使用 Troy 库的分页示例都直接在控制器中包含所有代码。