且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将Entity Framework 4.0迁移到核心

更新时间:2023-09-13 17:46:46

我创建了第二个局部类,以便将自定义内容添加到所创建的局部类中.还添加了部分OnModelCreatingPartial方法,在其中定义了我的复杂类型.

I created a second partial class in order to add custom stuff to the created one. Added also a partial OnModelCreatingPartial method in which I define my complex types.

以下是代码段:

[Owned]
public class MyComplexType
{
    public bool AField { get; set; }
    public string BField { get; set; }
}

public partial class MyMainEntity
{
    public MyComplexType MyComplexType { get; set; }
}

public partial class MyDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            optionsBuilder.UseSqlServer("myConnectionString",
                opts => opts.CommandTimeout((int)TimeSpan.FromMinutes(10).TotalSeconds)
            );
        }
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<MyMainEntity>().OwnsOne(e => e.MyComplexType, myComplexType =>
        {
            myComplexType.Property(p => p.AField).HasColumnName("ColumnNameFieldA");
            myComplexType.Property(p => p.BField).HasColumnName("ColumnNameFieldB");
        });
    }
}