我有兩個專案,Data和Domain. 在Data我有 Fluent API 時,我想將它的內容移動到Domain. 我怎樣才能做到這一點?如果我使用資料庫優先的方法,有沒有辦法配置 EF 來實作這一點?
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>(entity =>
{
entity.ToTable("Student", "dbo");
entity.Property(e => e.CreatedDate)
.HasColumnType("datetime");
entity.Property(e => e.IsEnabled)
.IsRequired()
.HasDefaultValueSql("((1))");
entity.Property(e => e.Name)
.HasMaxLength(250);
entity.Property(e => e.UpdatedDate)
.HasColumnType("datetime");
});
}
uj5u.com熱心網友回復:
將Student物體的配置移動到Domain專案中到一個單獨的類實施中IEntityTypeConfiguration<T>。
允許將物體型別的配置分解為單獨的類,而不是內嵌在 OnModelCreating(ModelBuilder) 中。
public class StudentConfiguration : IEntityTypeConfiguration<Student>
{
public void Configure(EntityTypeBuilder<Student> builder)
{
builder
.ToTable("Student", "dbo");
builder.Property(e => e.CreatedDate).HasColumnType("datetime");
// More rules go here.
}
}
在您DbContext的Domain專案中加載配置,如下所示。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.ApplyConfigurationsFromAssembly(typeof(Student).Assembly);
base.OnModelCreating(modelBuilder);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/398321.html
