问题标签 [ef4-code-only]

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

c# - 如何使用 EF 将数组属性映射到分隔字符串 db 字段?

我有一个带有数组属性的对象,我想将它作为分隔字符串保存在数据库中。如何将该属性映射到数据库中的字段,反之亦然?

不完整的配置类:

对于此示例,“Roles”属性在访问数据库时将转换为“roleA,roleB,roleC”,然后在从数据库读取时转换回数组。某处是否有数据映射事件?

0 投票
1 回答
246 浏览

ado.net - 这个 ASP.net MVC 系统设计有什么问题?

我有一个 ASP.Net MVC 3 照片库,它是这样设计的:

我使用 Ninject 将所需的服务和存储库注入到 Web 应用程序中。

在我使用实际数据库之前,我使用了一个简单的 ArrayList(和 JSON 序列化)作为我的现有逻辑(这将是 JsonImageRepository/JSonTagRepository),它工作得非常好。但是后来,我转到了EF4 CTP5(Code First),出现了很多问题。基本上,我将这些存储库和服务注入为 Singleton(在 Global.asax.cs 中声明),但是当我有多个访问存储库的线程时,它说:

数据连接已关闭。

我在 Ninject 中更改为线程模式或请求模式,但引发了各种异常(关于上下文的多个实例,所以我认为单例应该是唯一的选择)。

设计有什么问题吗?或者我应该如何配置这些组件?

0 投票
1 回答
277 浏览

entity-framework-4 - 如何在代码中动态地将表添加到 EF4 上下文 - 无代码优先

我们每 6 个月运行一系列报告,并将结果存储到可以在未来随时查询/查看的表格中。根据循环,将添加两个或四个表。它们具有 yyyy_mmm_Table_x 的标准命名约定。

我们的网站是使用 ASP.Net MVC2 构建的,并且数据库是使用标准模型设计器而不是 Code First 使用 EF4 建模的。

我希望能够在运行时将报告表动态添加到 EF4 上下文中。我不想使用设计器手动将它们添加到模型中,否则每个报告周期我们都必须更新和重新编译模型,因为我们添加了额外的报告。当没有其他任何改变时,这将是一个令人头疼的维护问题。

我可以通过查询 sysobjects 来获得可用表的列表。如果我可以在站点启动时获取此列表并将表添加到上下文中,那么我可以使用动态 LINQ 库之类的东西来查询它们,具体取决于用户从下拉列表中选择的表。

我不能开箱即用地使用 EF4 的 Code First,因为这将迫使我为表创建具体的类,而这将是同样令人头疼的维护问题。我怀疑我可以使用 Code First 框架用来动态更新上下文的相同策略,但我根本没有看过这个库,我希望熟悉它的人能指出我正确的方向。

否则我想我将不得不回到 ADO.Net 来处理这个领域。这可能是最好和最简单的方法,所以我想我正在寻找评论。我不是狂热者,所以我不需要所有东西都在 LINQ 和 EF4 中。:) 但它似乎更清洁和一致,特别是如果它允许我使用动态 LINQ。但有时旧方法更简单。

因此,如果您有任何建议或意见,我很乐意听取他们的意见。

谢谢!

0 投票
3 回答
676 浏览

linq - 按名称检索实体对象 - LINQ to Entities,EF 4.0

我有许多结构相同但命名约定不同的实体对象,例如 Products1、Products2、Products3(这是遗留数据库模式的一部分,我对此无能为力)。

就 CLR 而言,这些类具有不同的类型,不幸的是,由于设计代码是自动生成的,我无法在这些人身上添加一个接口来显示共性。所以,我的问题是:有没有办法按名称检索实体对象?

在对这些对象应用基本相同的逻辑时,我基本上想避免切换/案例业务。

0 投票
1 回答
374 浏览

ef-code-first - 代码第一个 CTP5 错误信息

我使用代码优先 CTP5 设置的新项目收到以下错误消息。在网上找不到任何关于它的信息。有没有人遇到过这个错误信息?

创建模型时不能使用上下文。

第一次调用我的数据库上下文时会发生这种情况(下面的代码):

此时数据库尚未创建。我有一个DropCreateDatabaseIfModelChanges在 app_start 中设置的数据库初始化程序。

0 投票
2 回答
1038 浏览

entity-framework-4 - EF4 CodeFirst CTP5 nvarchar(max) 通过属性

有没有办法创建一个自定义属性,使 EF CodeFirst在分配给 poco 类的属性时使用nvarchar(max)作为数据类型?我知道这可以通过 fluent api 实现,但我们希望将所有定义放在一个地方,这就是元数据类。

流畅的 API:

0 投票
1 回答
1283 浏览

c# - Entity Framework Code First 中的基类和父/子关系

嗨,我遇到了抽象基类及其实现之间的父/子关系问题

DBContext 如下所示:

示例代码

数据库表 ChildClass 中的结果与列

  • ID
  • Parentid(FK)
  • ParentExtendedId(FK)

其中 ParentId 始终为 null,parentExtendedId 填充了正确的 Id 但不需要。

我的问题是这是要走的路,我怎样才能将子类 Parent 作为父母而不是 ParentExtended

0 投票
1 回答
84 浏览

entity-framework-4 - EF4 代码首先从什么信息构建概念模型

据我了解,Code First 正在构建一个模型以在内存中使用 EF4,您可以在其中微调映射和内容。

该模型是根据什么信息构建的?

你看我有一个现有的应用程序,并希望首先将我们的 DAL 更改为代码,但我想逐个进行。所以我有一个这样的上下文类:

当我使用此类有关未定义键的其他实体类型时,EF 抱怨。但我不希望它们出现在我的 EF 模型中。

0 投票
5 回答
14319 浏览

sql - 使用实体框架 CTP 5“仅代码”时,如何获取 LINQ 查询的原始 SQL?

我在“仅代码”模式下使用实体框架 CTP5。我正在对从数据库返回的对象运行 LINQ 查询,因为查询运行速度非常慢。有什么方法可以获取从查询生成的 SQL 语句?

“存储库”属性是 DbContext 的后代。

这有点复杂,因为 EF 不能在对象上使用我的辅助方法,所以我直接在查询中指定逻辑。

那么,有什么方法可以转储该 LINQ 查询生成的 SQL(例如到我的 log4net 存储库)?

0 投票
2 回答
126 浏览

sql - 为什么Entity Framework没有在使用SingleOrDefault时生成的SQL中添加“where”?

我正在使用带有“仅代码”的实体框架 CTP 5(使用 SQL Server 2008)。我有一个从 DbContext 返回的实体,然后我从中访问一个子集合,并从中选择一个项目。这是我的 LINQ 语句:

这将产生以下 SQL:

我的“IsCurrent”限制根本没有被引用。IsCurrent 是我数据库中的一个位字段。

谁能解释这是为什么?它造成了巨大的性能损失。