我有一个问题,不确定是什么原因导致的。我有一个基于代码优先的实体框架数据库,在第一次运行时一切正常。数据库被创建,并且没有抛出任何异常。
在第二次运行时,当实体框架启动并且我尝试第一次调用“保存”函数时,它会抛出此异常:(我的表中没有名为CreatedOn的列)
最后,当我想使用我的数据库时,我会这样调用它:
更新: 我尝试关闭Entity Framework的懒加载,但这并没有影响异常。我仍然收到它。
这里有一个线索可能会帮助更有知识的人:
这个ObjectContext还没有运行,如果我单击那个图标来运行线程,我就不再收到这个异常了。我不知道如何强制在创建时运行这些线程。
我正在使用以下内容: .NET Framework 4.8 EntityFramework 6.4.4 Mysql.Data 8.0.21 MySql.Data.EntityFramework 8.0.21
在第二次运行时,当实体框架启动并且我尝试第一次调用“保存”函数时,它会抛出此异常:(我的表中没有名为CreatedOn的列)
MySql.Data.MySqlClient.MySqlException: 'Unknown column 'CreatedOn' in 'field list''
这是我的课程
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public partial class MyContext : DbContext
{
public MyContext()
: base("name=MyContext")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Migrations.Configuration>());
if (Database.Exists())
{
if (!Database.CompatibleWithModel(false))
{
Database.Initialize(true);
}
}
}
...Defining DbSets
我也在使用迁移。
最初我在启动时也遇到了这个异常,但是我删除了一些在启动时添加到数据库中的代码。我认为连接还没有准备好... 我假设这与连接没有完全建立有关,但我不知道如何确保我们在离开我的UnitOfWork类之前已经连接。因此,我有了这个类,将所有的数据库表连接到我的上下文:
public UnitOfWork(MyContext contextMain)
{
_context = contextMain;
_context.Database.CommandTimeout = 600;
PartFamilies = new PartFamilyRepository(_context);
PartNumbers = new PartNumberRepository(_context);
Measurements = new MeasurementRepository(_context);
Attributes = new AttributeRepository(_context);
ProgramNumbers = new ProgramNumberRepository(_context);
FamilyBiases = new FamilyBiasRepository(_context);
BagQuantities = new BagQuantityRepository(_context);
UndetectableMods = new UndetectableRepository(_context);
OverLapParts = new OverLapRepository(_context);
PartGroups = new PartGroupRepository(_context);
Settings = new SettingsRepository(_context);
CreateDefaultDatabase(contextMain.Database.CreateIfNotExists(), _context);
}
最后,当我想使用我的数据库时,我会这样调用它:
using (var _unitOfWork = new UnitOfWork(new MyContext())){}
更新: 我尝试关闭Entity Framework的懒加载,但这并没有影响异常。我仍然收到它。
这里有一个线索可能会帮助更有知识的人:
![enter image description here](https://istack.dev59.com/T1F5o.webp)
我正在使用以下内容: .NET Framework 4.8 EntityFramework 6.4.4 Mysql.Data 8.0.21 MySql.Data.EntityFramework 8.0.21