EF Core自动将实体映射到数据库

 protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            try
            {
                var compilationLibrary = DependencyContext.Default.CompileLibraries.Where(x => !x.Serviceable && x.Type == "project" && x.Type != "package");
                foreach (var item in compilationLibrary)
                {
                    AssemblyLoadContext.Default.LoadFromAssemblyName(new System.Reflection.AssemblyName(item.Name))
                        .GetTypes().Where(x => !x.IsAbstract && x.BaseType != null && x.IsAssignableTo(typeof(BaseEntity)))
                        .ToList()
                        .ForEach(x =>
                        {
                            modelBuilder.Entity(x);
                        });
                }
            }
            catch (Exception e)
            {

                throw new InvalidOperationException(e.Message);
            }
            base.OnModelCreating(modelBuilder);
        }

 

posted @ 2023-02-05 00:15  含泪拒绝王阿姨i  阅读(59)  评论(0编辑  收藏  举报