我已经注意到MyProject.EntityFrameworkCore项目中的Seed文件夹,其中包含将初始数据播种到数据库的代码。
如果添加代码以使用新实体填充数据库,那么将在哪里以及如何调用代码?
.NET Core和完整的.NET Framework版本是否以相同的方式工作?
运行:
在应用程序启动时,调用的PostInitialize
方法YourEntityFrameworkModule
:
public override void PostInitialize()
{
if (!SkipDbSeed)
{
SeedHelper.SeedHostDb(IocManager);
}
}
如果您构建Migrator项目并运行.exe,则在以下Run
方法中调用该方法MultiTenantExecuter
:
public void Run(bool skipConnVerification)
{
// ...
Log.Write("HOST database migration started...");
try
{
_migrator.CreateOrMigrateForHost(SeedHelper.SeedHostDb);
}
// ...
}
如果添加新代码以填充自定义实体,请记住在添加之前进行检查,如下所示:
var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName);
if (defaultEdition == null)
{
// ...
/* Add desired features to the standard edition, if wanted... */
}
是的。.NETCore和完整的.NET Framework版本以相同的方式工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句