Tag: 流利的

具有可选要求的EF Code First + Fluent关系的多重约束违规?

出于某种原因,我让我在EF 6项目上做了一段时间,我会尽量避免命名外键。 我定义了大部分模型而没有逐步测试它,因此我遇到了多样性和不完整的Fluent API定义问题: 来自’User_InternalAuth’AssociationSet的关系处于’已删除’状态。 给定多重约束,相应的’User_InternalAuth_Target’也必须处于’已删除’状态。 在一种情况下,这是代码: nModelBuilder.Entity() .HasOptional(u => u.InternalAuth) .WithRequired(a => a.User) .WillCascadeOnDelete(true); 我的理解是它说: 实体User 具有InternalAuth类型的可选属性InternalAuth 另一方面, InternalAuth有一个必需的属性User ,所以所有的 InternalAuth都有User但是User可能有也可能没有`InternalAuth。 如果User被删除,那么他的InternalAuth也会被删除(这是否会覆盖处理像nullables这样的选项的可选行为?) 但是当我尝试删除User我收到一个关于InternalAuth和User之间某种关联的多样性的例外。 如果EF了解关系的多样性,它是否有一种方法可以为它提供一个唯一的列名,那么有一个规范的命名约定? 如果是这样,您是否真的需要通过注释模型或通过Fluent API明确定义外键? 如果没有,我应该继续努力避免它,这是值得的还是可取的? (我正在考虑迁移数据模型,数据库管理,任何EF怪癖) 为什么尝试删除上述关系会违反多重约束? 还需要知道什么?

EntityFramework Core Fluent模型生成器键和属性

好吧,在entity framework6中,我会在一个语句中生成密钥和属性数据库: modelBuilder.Entity() .HasKey(x => x.Id) .Property(x => x.Id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 在entity framework核心(7)中,这不起作用: modelBuilder.Entity() .HasKey(x => x.Id) .Property(x => x.Id) .ValueGeneratedNever(); 错误:“’KeyBuilder’不包含’Property’的定义,也没有扩展方法’Property’接受’KeyBuilder’类型的第一个参数”: 这是否必须是两个单独的声明,如下所示,或者有一种方法可以像在EF6中一样使用它吗? protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasKey(x => x.Id); modelBuilder.Entity() .Property(x => x.Id) .ValueGeneratedNever(); }

了解如何创建流畅的界面

嗨,我正在尝试理解如何构建一个可读的,也可以防止Fluent-API出错,而不会对用户造成太大限制 保持简单让我们说我们想要改变下面的课程,以便流利 public class Car { public int Gallons { get; private set; } public int Tons { get; private set; } public int Bhp { get; private set; } public string Make { get; private set; } public string Model { get; private set; } public Car(string make, string model) { Make = make; […]