Tag: fluent entity framework

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(); }

EF Core流畅映射到内部对象属性

我有一个包含一些属性的类。 出于一些架构原因,我在我的class级中有另一个对象的实例。 简单的例子 public class MyEntity { public MySubEntity SubEntity {get; set;} } 为此,我创建了流畅的映射,如: builder.ToTable(MyEntity.CONST_TABLE_NAME); builder.HasKey(m => m.Id); builder.Property(m => m.Column1).IsRequired(); builder.Property(m => m.SubEntity.Column2).IsRequired(); 我无法将所有subEntity属性集成到我的主实体中(我的subEntity有自己的智能)。 我只想将我的子实体属性(不存储在单独的表中)映射到myEntity表。 最后一行抛出exception: The expression ‘m => m.SubEntity.Column2’ is not a valid property expression. The expression should represent a property access: ‘t => t.MyProperty’. 我该如何进行这种映射?

在HasOptional()中映射外键。entity framework6中的WithOptionalDependent()关系

我在Entity Framework 6.1.3中有以下数据模型: using System.Data.Entity; public class Student { public int Id { get; set; } public virtual Contact Contact { get; set; } } public class Contact { public int Id { get; set; } public virtual Student Student { get; set; } } public class MyContext : DbContext { protected override void OnModelCreating(DbModelBuilder […]

一个与HasForeignKey为零或一

我有两个型号: public class Person { public virtual int Id { get; set; } public virtual Employee Employee { get; set; } // optional } public class Employee { public virtual int Id { get; set; } public virtual int PersonId { get; set; } public virtual Person Person {get; set; } // required } public […]