ef-code-first相关内容

调试代码优先的实体框架迁移代码

我首先在我的网站上使用实体框架代码,我只是想知道是否有任何方法可以调试迁移代码.你知道,比如设置断点之类的. 我正在使用包管理器控制台使用 Update-Database 更新数据库. 谢谢 解决方案 我知道 EF Code First Migrations 是相对较新的工具,但不要忘记您仍在使用 .NET. 所以你可以使用: if (System.Diagnostic ..

Entity Framework 4 Code First 是否支持像 NHibernate 这样的身份生成器?

一年前问的这个问题很相似:实体框架 4 是否支持生成器像 NHibernate 一样的 id 值? 但我想知道的是,代码优先 CTP 是否添加了对身份生成策略的支持.如果没有,有没有人知道 EF 中的一个很好的扩展点来实现类似的东西? 我目前正在使用使用 GUID 作为标识符的模型类.当使用 EF 插入时,它们会保留它们的 Guid.Empty 初始值.我知道您可以将数据库中的列的默认 ..
发布时间:2021-12-08 20:25:16 C#/.NET

EF5 代码优先枚举和查找表

我想定义一个供 EF5 使用的枚举,以及一​​个相应的查找表.我知道 EF5 现在支持枚举,但是开箱即用,它似乎只在对象级别支持这一点,并且默认情况下不会为这些查找值添加表. 例如,我有一个 User 实体: 公共类用户{int ID { 获取;放;}字符串名称 { 获取;放;}用户类型 用户类型 { 获取;放;}} 还有一个 UserType 枚举: 公共枚举 UserType{成 ..
发布时间:2021-12-08 20:23:35 其他开发

EF Code First:如何获取随机行

如何构建查询以检索随机行? 如果我用 SQL 编写它,那么我会在 newid() 上放置一个 order by 并从顶部切掉 n 行.无论如何要先在 EF 代码中执行此操作? 我尝试创建一个使用 newid() 的查询并使用 DbSet.SqlQuery() 执行它.虽然它有效,但它不是最干净的解决方案. 此外,尝试检索所有行并按新的 guid 对它们进行排序.虽然行数比较少,但 ..
发布时间:2021-12-08 20:16:39 C#/.NET

我应该使用实体框架 4.1 和 MVC3 启用还是禁用动态代理?

有人可以提供一些建议或指出一些有助于做出此决定的博客/文章吗?代理对我来说似乎很陌生,我很犹豫要不要使用它们.我喜欢通过在我的模型中使用虚拟属性来控制延迟加载的能力,但这几乎是我能看到的所有好处.我的应用程序是一个简单的 MVC Web 应用程序,当实体经历状态更改时,我不需要将任何挂钩连接到上下文中. 无论如何,这是我现在非常有限的利弊列表,如果我对其中任何一个不满意,请告诉我. 优 ..

在生产中使用实体框架(代码优先)迁移

我只是考虑在我们的项目中使用 EF 迁移,尤其是在版本之间的生产中执行架构更改. 我已经看到有一个 API 可以使用 DbMigration 类在运行时执行这些迁移,但我找不到任何具体示例. 理想情况下,我希望每个数据库更改都有一个 DbMigration 文件,并且这些更改在从当前版本到最新版本的应用程序启动时自动应用. 解决方案 有一个 Database Initializ ..

使用 Entity Framework Fluent API 的一对一可选关系

我们希望使用实体框架代码优先来使用一对一的可选关系.我们有两个实体. 公共类 PIIUser{公共 int Id { 获取;放;}公众号?LoyaltyUserDetailId { 获取;放;}公共 LoyaltyUserDetail LoyaltyUserDetail { 获取;放;}}公共类 LoyaltyUserDetail{公共 int Id { 获取;放;}公双?可用点{得到;放;}公 ..
发布时间:2021-12-08 20:12:15 C#/.NET

EntityFramework 代码优先的自定义连接字符串和迁移

当我使用默认连接字符串(从 app.config 读取)创建上下文时,会创建数据库并且迁移工作 - 基本上一切正常.而当以编程方式创建连接字符串时(使用 SqlConnectionStringBuilder): 当数据库不存在时不创建数据库(场景A); CreateDbIfNotExists() 创建最新版本的数据库模型,但迁移机制未被调用(场景B). 在 A 中,当我希望访问数据库 ..

EF Code First“无效的列名‘鉴别器’"但没有继承

我的数据库中有一个名为 SEntries 的表(参见下面的 CREATE TABLE 语句).它有一个主键,几个外键,没有什么特别之处.我的数据库中有很多类似于那个表的表,但由于某种原因,这个表在 EF 代理类上有一个“鉴别器"列. 这是在 C# 中声明类的方式: 公共类 SEntry{公共长 SEntryId { 获取;放;}公共长 OriginatorId { 获取;放;}公共日期时间 ..
发布时间:2021-12-08 20:09:58 其他开发

首先通过 Fluent API 在 EF 代码中实现零或一到零或一的关系

我有两个 POCO 课程: 订单类: 公共类订单{公共 int Id { 获取;放;}公众号?报价 ID { 获取;放;}公共虚拟报价单 { get;放;}....} 引用类: 公开课报价{公共 int Id { 获取;放;}公共虚拟订单订单{获取;放;}....} 每个Order 可以由一个或零个引用构成,并且 每个报价可能导致订单. 所以我有一个“一或零"到“一或零"关系 ..
发布时间:2021-12-08 20:08:53 C#/.NET

复合键作为外键

我在 MVC 3 应用程序中使用实体框架 4.1.我有一个实体,其中的主键由两列(复合键)组成.这在另一个实体中用作外键.如何建立关系?在正常的场景中,我们使用: 公共类分类{公共字符串 CategoryId { 获取;放;}公共字符串名称 { 获取;放;}公共虚拟 ICollection产品{得到;放;}}公开课产品{公共 int ProductId { 获取;放;}公共字符 ..
发布时间:2021-12-08 20:05:11 C#/.NET

EF 包括其他实体(通用存储库模式)

我在 Entity Framework Code First 之上使用通用存储库模式.一切正常,直到我需要在查询中包含更多实体.我必须成功包含一个实体,但现在我不知道如何包含多个实体.看看我到目前为止有什么: public IQueryableGetQuery() where TEntity : 类{var entityName = GetEntityName();return _objectC ..

实体类型<type>不是当前上下文模型的一部分

我正在进入实体框架,但我不确定我是否遗漏了代码优先方法中的一个关键点. 我正在使用基于 https://genericunitofworkandrepositories.codeplex.com/ 并创建了我的实体. 但是当我尝试访问或修改实体时,我遇到了以下问题: System.InvalidOperationException: 实体类型 Estate 不是一部分当前上下文的 ..
发布时间:2021-12-08 20:00:48 C#/.NET

忽略 Entity Framework 4.1 Code First 中的类属性

我的理解是 [NotMapped] 属性直到 EF 5 才可用,它目前在 CTP 中,所以我们不能在生产中使用它. 如何将 EF 4.1 中的属性标记为忽略? 更新:我注意到了一些奇怪的事情.我让 [NotMapped] 属性起作用,但由于某种原因,EF 4.1 仍然在数据库中创建一个名为 Disposed 的列,即使 public bool Disposed { get;私人订制;} ..
发布时间:2021-12-08 19:58:07 C#/.NET

实体框架 (EF) 代码优先级联删除,用于一对零或一关系

遵循Pluralsight“入门"的“代码优先建模"部分通过 Julie Lerman 的 Entity Framework 5" 课程,我创建了两个具有一对零或一关系的 POCO 类:一个父类(用户)和一个可选的 子级 (UserDetail). User 和 UserDetail 数据模型图(点击查看). 注意图中的UserId 属性是UserDetail 的主键和外键. 相 ..