code-first相关内容

实体框架 Database.SetInitializer 根本不起作用

我在这里遇到了这种“神秘"的问题.我目前在我的 ASP.NET MVC 3 应用程序中使用 Entity Framework 4.1 Code First 方法,它运行良好,直到昨天...... 发生了一些非常糟糕的事情,导致我的 Database.SetInitializer 停止工作.解释: 我有这个简单的模型 公共类用户{公共 int Id { 获取;放;}公共 int Rol ..

如何禁用代码优先迁移

我在 EF5 中有一个代码优先实体模型.但我想手动管理数据库更改——我不希望 EF 修改我现有的数据库及其所有数据.但是当我在 EF 映射和数据库中进行并行更改时,EF 拒绝正确操作,告诉我我需要使用代码优先迁移.如何关闭此功能? 解决方案 将 Database.SetInitializer 设置为 null. 公共类DatabaseContext:DbContext{//base 接受 ..
发布时间:2021-12-08 20:50:56 其他开发

实体框架 CTP 4 - Code First 自定义数据库初始值设定项

我想实现一个自定义数据库初始化策略,以便我可以生成数据库架构并使用提供的用户 ID 和密码将其应用到 EXISTING EMPTY SQL 数据库. 遗憾的是,内置策略无法满足我的需求: //默认策略仅在数据库不存在时创建数据库 - 但它确实存在//存在所以什么都不做Database.SetInitializer(new CreateDatabaseOnlyIfNotExists());/ ..
发布时间:2021-12-08 20:41:00 其他开发

实体框架按排序顺序加载子集合

我有两个表,一个父表和一个子表.子表有一个列 sortorder(一个数值).由于 EF 缺少支持 IList 包含排序顺序而不公开排序顺序(请参阅:实体框架持久化子集合排序顺序) 我的子类也有一个属性 SortOrder,这样我就可以按照排序顺序存储子类. 与引用问题的作者相反,我尝试加载总是排序的孩子.因此,如果我加载我期望的父实例,则子集合按排序顺序排序.如何使用 Code First ..
发布时间:2021-12-08 20:34:57 其他开发

EF4 Code First:如何在不添加导航属性的情况下添加关系

我应该如何使用 Code First 但不使用任何导航属性来定义关系? 之前我通过在关系的两端使用导航属性来定义一对多和多对多.并且在数据库中创建了适当的关系.这是类外观的精简版本(为了简单起见,我已将多对多关系转换为一对多关系). 公共类用户{公共字符串用户 ID { 获取;放;}公共字符串 PasswordHash { 获取;放;}public bool IsDisabled { 获取 ..

如何为 EF Code First 配置 ProviderManifestToken

我有一个使用 EF 代码优先的 asp.net MVC3 项目.对于我的单元测试,我一直使用 SQL Server CE 4.0 和 SQL Server 2008 Express.两者都与 EF 完美配合,按预期生成了我的数据库. 但是,当我在单元测试之外运行我的应用程序并将其指向我的连接字符串时,我收到错误 ProviderIncompatibleException: 提供者没有返 ..
发布时间:2021-12-08 20:30:46 其他开发

自引用多对多递归关系代码优先实体框架

我似乎根本无法完成这项工作 类成员{公共虚拟 IList朋友{得到;放;}[钥匙]公共 int MemberId { 获取;放;}公共字符串名称{获取;放;}} 我尝试添加映射但徒劳无功.有没有办法用 CTP5 做到这一点? 解决方案 按照惯例,Code First 会将单向关联视为一对多.因此,您需要使用 fluent API 让 Code First 知道您想要多对多的自引用关联: ..
发布时间:2021-12-08 20:23:04 C#/.NET

实体框架代码优先 - DbContext 上没有 Detach() 方法

我想知道为什么 DbContext 对象上没有像 ObjectContext 那样的 Detach 方法.我只能假设这个遗漏是故意的,但我很难弄清楚为什么.我需要能够分离和重新附加实体(例如,用于将缓存放入 ASP.NET 项目中).但是,由于我无法分离实体,因此当我尝试附加与先前上下文关联的实体时,出现“实体对象不能被 IEntityChangeTracker 的多个实例引用"异常. 这里 ..
发布时间:2021-12-08 20:22:50 其他开发

Entity Framework Code First 的 SQL Server Express 连接字符串

我在 Visual Web Developer 2010 Express 中工作,并使用实体框架代码优先 CTP.我可以使用新的 SQL Server CE 执行此操作,但无法找到与 SQL Server Express 一起使用的连接字符串. 这个使用 SQL Server CE 测试版,运行良好(在模型更改时创建和重新创建数据库). 这是我从 aspnetdb 连接字符串中复制的, ..

实体框架日期时间和 UTC

是否可以让实体框架(我目前使用 CTP5 的代码优先方法)将所有日期时间值作为 UTC 存储在数据库中? 或者是否有一种方法可以在映射中指定它,例如在 last_login 列中指定它: modelBuilder.Entity().Property(x => x.Id).HasColumnName("id");modelBuilder.Entity().Property(x => x.Is ..
发布时间:2021-12-08 20:17:07 C#/.NET

Entity Framework Code First 是否支持存储过程?

我看过几个关于 EF Code First 的演示,但还没有看到 EFCF 如何与存储过程一起工作. 如何声明将使用某些 sp 的方法?我可以将实体传递给调用 sp 的方法,而无需手动将实体属性映射到 sp 参数吗? 此外,如果我更改模型会怎样?从模型重新创建表时它会删除我的 sp 吗?那么触发器呢? 如果不支持这些东西,未来有没有计划支持它们? 解决方案 编辑:我对 E ..
发布时间:2021-12-08 20:14:21 C#/.NET

Entity Framework Code First 中的唯一约束

问题 是否可以使用 fluent 语法或属性对属性定义唯一约束?如果没有,有什么解决方法? 我有一个带有主键的用户类,但我想确保电子邮件地址也是唯一的.这可以不直接编辑数据库吗? 解决方案(基于马特的回答) 公共类 MyContext : DbContext {公共数据库集用户{得到;放;}公共覆盖 int SaveChanges() {foreach(ChangeTracke ..
发布时间:2021-12-08 20:03:28 其他开发

为什么使用 ICollection 而不是 IEnumerable 或 List<T>多对多/一对多关系?

我在教程中经常看到这种情况,导航属性为 ICollection. 这是实体框架的强制性要求吗?我可以使用 IEnumerable 吗? 使用 ICollection 而不是 IEnumerable 甚至 List 的主要目的是什么? 解决方案 通常您的选择取决于您需要访问哪些方法.一般来说 - IEnumerable(MSDN:http://msdn.microsoft.com ..
发布时间:2021-12-08 20:03:10 C#/.NET

如何在代码优先实体框架中使用视图

如何先在实体框架代码中使用数据库视图, 解决方案 如果和我一样,您只对映射来自其他数据库(在我的情况下为 erp)的实体感兴趣,以便将它们与您的应用程序特定的实体相关联,然后您可以像使用表格一样使用视图(以相同的方式映射视图!).显然,如果您尝试更新该实体,并且视图不可更新,则会出现异常.该过程与正常(基于表)实体的情况相同: 为视图创建一个POCO类;例如 FooView 在 D ..
发布时间:2021-12-05 12:14:47 C#/.NET

使用实体框架将更改保存到 SQL Server 数据库时,对一个或多个实体的验证失败

我想将我的编辑保存到数据库,我在 ASP.NET MVC 3/C# 中使用实体框架代码优先,但出现错误.在我的 Event 类中,我有 DateTime 和 TimeSpan 数据类型,但在我的数据库中,我分别有 Date 和 time.这可能是原因吗?在将更改保存到数据库之前,如何在代码中转换为适当的数据类型. 公共类事件{公共 int EventId { 获取;放;}公共 int 类别 ID ..
发布时间:2021-12-03 15:35:53 C#/.NET

支持 <Database> 的模型自数据库创建以来上下文已更改

错误信息: “自数据库创建以来,支持“AddressBook"上下文的模型已更改.手动删除/更新数据库,或使用 IDatabaseInitializer 实例调用 Database.SetInitializer.例如,RecreateDatabaseIfModelChanges 策略将自动删除并重新创建数据库,并可以选择用新数据为其播种." 我正在尝试使用代码优先功能,以下是我写的: ..
发布时间:2021-12-02 14:06:29 C#/.NET

实体框架代码优先 - 来自同一个表的两个外键

我刚刚开始使用 EF 代码,所以我完全是这个主题的初学者. 我想在团队和比赛之间建立关系: 1 场比赛 = 2 支球队(主队、客队)和结果. 我认为创建这样的模型很容易,所以我开始编码: 公开课团队{[钥匙]公共 int TeamId { 获取;放;}公共字符串名称 { 获取;放;}公共虚拟 ICollection匹配 { 获取;放;}}公开课比赛{[钥匙]公共 ..
发布时间:2021-12-01 09:41:28 C#/.NET