问题标签 [ef-code-first]
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# - 使用实体框架 4 和代码优先从数据库中排除字段/属性
我想知道有没有办法从数据库中排除某些字段?例如:
如何从数据库中排除 AddressAs 字段?
c# - 将列映射为 db 中的 IDENTITY
虽然我已经用 标记了我的 ID 列.Identity()
,但生成的数据库架构没有IDENTITY
设置为 true,这在我添加记录时给我带来了问题。如果我手动编辑数据库架构(在 SQL Management Studio 中)以将Id
列标记为IDENTITY
,那么一切都会按我的意愿进行 - 我不能让 EF 自己做到这一点。
这是我的完整映射:
当我使用 EF 构建和重新构建数据库以进行集成测试时,我真的需要自动完成此操作......
编辑: 嗯......在评论中,我被要求提供足够的代码来执行这个,所以我将我的代码剪切并粘贴到一个控制台应用程序中(这样你就不需要我所有的课程......)突然间刚刚工作。我想我在某处忘记了一些方法调用,尽管我无法弄清楚在哪里。
我将在此帖子的答案中发布有效的解决方案代码,以防其他人来寻找它。
.net - 如何在 EF CF 中设置 POCO 的默认值?
在 Entity Framework Code First 方法中,如何为 POCO 的 EntityConfiguration 类中的属性设置默认值?
c# - EF Code First 中的小数精度和小数位数
我正在试验这种代码优先的方法,但我现在发现 System.Decimal 类型的属性被映射到 decimal(18, 0) 类型的 sql 列。
如何设置数据库列的精度?
c# - 如何使用 Entity Framework 4 Code First (POCO) 声明一对一关系
如何使用 Entity Framework 4 Code First (POCO) 声明一对一关系?
我发现了这个问题(Entity Framework 4中的一对一关系),但是答案引用的文章没有用(有一行代码是1-1关系,但没有提到如何定义它)。
linq - 我如何只使用 LINQ Join() 来链接两个 IQueryables?
我有两个 IQueryables:
成分:
可用成分:
我已经有一个 IQueryable 的成分:
我如何向他添加一个连接,以便它过滤AvailableIngredient
(即内部连接)?如果我必须一直加入,我知道该怎么做,即从...加入上下文。可用...等),但加入是有条件的,所以我需要使用其他语法:
这可能不是正确的方法,所以这就是我想要做的:
- GetAvailableIngredientQuery 返回可用成分查询,即 6000 个中的 3000 个(但它尚未枚举结果,因为它从 EF 作为 IQueryable 返回)
- 将 availableQuery 加入 ingQuery,因此两个查询之间有一个 Inner Join
编辑:
这是我目前正在使用的代码(非常快),但这意味着重复的代码:
entity-framework-4 - 我如何创建一个复合键,它首先包含一个外键和代码?
我首先使用 EF4 代码,并希望生成一个由类属性和外键组成的复合键。我有两个课程:订单和公司。Order 类包含一个引用,但这在公司之间不一定是唯一的。所以我打算使用由 Reference 和 Company.CompanyId 组成的复合键。
我尝试使用以下方法进行设置,但收到错误消息“键表达式无效”。
我也试过
这失败了。
这些是我的课:
任何帮助将不胜感激。
entity-framework-4 - 实体框架代码优先延迟加载非导航属性
我首先使用的是实体框架代码 CTP4。
是否可以像在 NH 3 中一样延迟加载非导航属性。
一个常见的例子是有一个包含二进制列的表。当我在代码中明确要求该属性时,我只想检索该列的数据,例如 image.ImageData
谢谢本
c# - EF 代码优先 - 无法更新数据库行
正在使用 EF“代码优先”方法尝试一些代码,但遇到了一个奇怪的问题。
我的数据上下文:
用户对象在哪里:
在我的代码中,我正在做一些相当简单的事情:
我传递给这个函数的用户对象是这样的结果:
每次我调用 UpdateUserTags 函数时,它似乎都会在 User 表中创建一个新行而不是更新它。我在这里做错了吗?
entity-framework - EF4 代码首先将具有虚拟导航属性 null 的实体添加到一对多
我有以下 EF4 Code First 课程:
并设置添加一个新的 WoChangeLogHeader,如下所示:
然而此时 ChangeLogRecords 导航属性为空,所以我得到一个空对象引用错误......
但是,如果我尝试添加 WOChangeLogHeader 而不添加任何子项,以便随后可以像这样引用它:
然后我收到以下错误?
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
当 ChangeLogRecords 为空时,它也不会让我在 Context 上保存更改...
如何在这样的一对多关系中添加一个新实体,它是父实体?
谢谢格雷格