ef-code-first相关内容

首先创建代码,多对多,关联表中的附加字段

我有这种情况: 公共类成员{公共 int MemberID { 获取;放;}公共字符串名字 { 获取;放;}公共字符串姓氏{得到;放;}公共虚拟ICollection评论{得到;放;}}公开课评论{公共 int CommentID { 获取;放;}公共字符串消息 { 获取;放;}公共虚拟ICollection会员{得到;放;}}公共类成员评论{公共 int MemberI ..
发布时间:2022-01-30 10:07:03 C#/.NET

如何使用 Include 限制相关数据的数量

类猫{公共 int CatID;公共字符串名称;公共ICollection帖子;}类帖子{公共 int PostID;公共字符串名称公共 int CatID;公共虚拟猫父母;} 我想用他们的帖子加载所有的猫(egories): var cats = context.Cat.Include(c => c.Posts); 现在我想限制返回的帖子数量,有人可以告诉我怎么做吗? 我正在 ..

强制代码优先始终初始化一个不存在的数据库?

有时,我会删除我的开发数据库并运行我的 EF 代码优先应用程序.我会得到错误: 无法打开登录请求的数据库“AssessmentSystem".登录失败.用户“AssessmentAdmin"登录失败. 我认为这是因为 DbContext 仅在“第一次使用上下文时每个 AppDomain 一次"运行 DB 初始化逻辑,如 这个页面说.这意味着如果我删除它,我需要回收 IIS 应用程序池以 ..

使用远程连接字符串在 Azure 上执行代码优先迁移

我正在发布一个 Azure Web 应用程序,但在执行代码优先迁移时遇到了一个奇怪的问题. 如果我不选中“执行代码优先迁移",此数据库的远程连接字符串工作正常. 但是,如果我选中该框,则会将一个奇怪的拼写错误“ConnetionString"的奇怪连接字符串注入远程 web.config: ..

EF 迁移中的自定义代码执行

在我们的项目中成功使用实体框架迁移.但是现在我遇到了一个特殊情况,我需要更新需要一些业务逻辑的表(位于我们的应用程序中作为 C# 代码).因此,我尝试在迁移 Up 方法中生成一个线程,并使用业务逻辑执行此表更新.应用程序执行不需要此表更新,应在后台进行. 我这样做有点像这样: 公共部分类 MyMigration : DbMigration{公共覆盖无效Up(){//... 在这里做一些 s ..
发布时间:2022-01-23 10:07:20 C#/.NET

无法更新数据库以匹配当前模型,因为有待处理的更改并且自动迁移被禁用

我终生无法摆脱此错误消息.我已经尝试了几乎所有我能做的事情. MyDBContext.cs public MyDBContext() : base("ConnStr_Dev"){}受保护的覆盖无效 OnModelCreating(DbModelBuilder modelBuilder){Database.SetInitializer(new MigrateDatabaseToLatest ..

在不使用 IDbContextFactory 的情况下编写第一个自定义连接字符串和迁移

我正在尝试编写一个易于理解的 DBContext 类,该类采用自定义连接字符串,可以运行迁移,并且允许我使用包管理器生成迁移. 我好像在兜圈子. 我已经能够使用让我感觉很糟糕的代码让它工作.我在对这个关于连接字符串和迁移的问题的回答中记录了这一点. Radek 的答案看起来比我的好得多,但我发现当我实施它然后尝试在包管理器中创建迁移时,我会收到消息 目标上下文“DataLa ..
发布时间:2022-01-23 09:24:55 C#/.NET

EF4.1 代码优先:如何为依赖实体中没有导航属性的关系禁用删除级联

假设我有这两个非常基本的实体: 公共类 ParentEntity{公共整数 ID;公共虚拟ICollection孩子们的;}公共类 ChildEntity{公共整数 ID;公共 int ParentEntityId;//外键公共虚拟 ParentEntity 父级;//[不需要]} 出于某些原因,我不希望 ChildEntity 保留对其父级的引用.我只希望它保留 P ..

以编程方式获取实体框架 6 中 POCO 之间的外键

我面临一个 EF6 Code First 上下文,其中有几个 DbSet 的 POCO 在它们之间具有导航属性(和外键),例如: 公共部分类Person{公共指导 ID { 获取;放;}公共虚拟ICollection地址{得到;放;}}公共部分类地址{公共指导 ID { 获取;放;}公共 Guid FK_PersonId { 获取;放;}公共虚拟人人{得到;放;}}modelBuilde ..
发布时间:2022-01-20 12:35:44 C#/.NET

在什么情况下我需要实体框架中的外键和导航属性

我的 Order 类有: public int CustomerId { get;放;}公共客户客户{得到;放;} 我真的需要这两个属性来建立关系吗? 我没有使用断开连接的实体,我使用的是代码优先方法. 解决方案 根据 Julia Lerman 的书:编程实体框架:DbContext,区别在于更新导航属性的难度.在第 85 页,她建议“如果您可以做一件事来让您在 N 层场景中的生 ..

Entity Framework 6 Code First 迁移 - 生产的多个分支

在我的项目中,我们有一个分支模型,它有一个单独的开发分支,并且每个版本都有一个单独的分支.它可能看起来像这样: 开发 ______ ______/\/\大师 --+---+----+---+---+----+----+--- (...)r1 \______/r2 \_______/ 所以我们在 dev 上开发,将它合并到 master,然后我们创建一个发布分支(r1,r2,...). 我 ..

将数据插入/更新到多对多实体框架.我该怎么做?

我的上下文是 => 通过实体框架代码 1st 使用此模型,数据库中的数据表变为 => 1) 用户表 2) 角色表 3) UserRole Table - 自动创建的新链接表 用户模型 => 角色模型 => 我的 O Data 查询为单个用户/角色表插入记录正常工作 现在,当我想向 UserRole 表插入记录时,我应该写什么查询 有人有意见吗 ..

使用 EntityFramework CodeFirst 中的 columnname 属性从存储过程映射对象

我有一个使用 entityframework 6 Code-First 的现有数据库.不过,一个要求是所有使用数据库的工作都必须通过存储过程.所以我开始使用 6.0 中的新映射: modelBuilder.Entity().MapToStoredProcedures(); 问题是这只支持映射插入、更新和删除 sp,而不是选择 sp,我需要能够让我们选择一个 sp.(我无权编辑任何现有的 sp) ..
发布时间:2022-01-20 11:50:07 其他开发

实体框架 6.1.1 索引的命名约定

我了解如何在代码优先(使用迁移)项目中添加约定.我已经成功地执行了表名,甚至将 GUID Id 字段更改为非集群. 但我还没有找到在没有给出名称时如何更改 EF 提供的默认索引名称. [索引(IsUnique = true)]公共字符串代码 { 获取;放;}[指数]公共字符串描述 { 获取;放;} 我有这两个要求.顶部索引应命名为UX_[schema]_[table]_Code,第二个I ..

代码优先:避免鉴别器列并保持继承

在我的项目中,我有: 公共类 BaseEntity {[钥匙]公共 int ID {get;放;}} 然后我必须定义 10+ POCO 类来定义我的数据库中的表: 公共类 MyTable : BaseEntity {//在这里定义属性} 当然,因为 MyTable 继承自 BaseEntity 我明白了 鉴别器字段.我想摆脱 Discriminator 字段,因为我不需要创建表 BaseE ..
发布时间:2022-01-20 11:47:50 C#/.NET