c# - Entity Framework Core 无法翻译新列
问题描述
我有一个 DbContext 类:
internal class ServicesContext: DbContext
{
internal DbSet<CurrentRunningServiceDbModel> CurrentRunningServices { get; set; }
...
}
其中CurrentRunningServiceDbModel
代表 CurrentRunningServices 表:
class CurrentRunningServiceDbModel
{
public string DataCenter { get; set; }
public string Service { get; set; }
public string Name { get; set; }
}
然后我可以毫无问题地使用上下文。现在我需要在 db 表中添加一些新列,所以我这样做并添加了另外 2 个列。然后我简单地添加了另外 2 个成员来CurrentRunningServiceDbModel
包括public bool IsActive{ get; set; }
. 但是,现在我尝试运行一个简单的 linq 查询,但出现异常:
var isRunning = dbContext.CurrentRunningServices.Where(crs => crs.DataCenter == dataCenter && crs.Name == name && crs.IsActive).Count() > 0;
例外情况是该子句无法翻译。它只发生在我添加到 db 表的新列中,其余的仍然可以正常工作。
我是否需要做一些特别的事情,以便 EF 获取我的数据库中的更改?
解决方案
1-您在 SQL Server 或您正在使用的其他数据库软件中有您的“CurrentRunningServiceDbModel”吗?
2-您是否使用迁移进行新更改?
如果您的数据库在 SQL 或其他软件上,则需要迁移以更新它们。否则,您需要先添加数据库。
推荐阅读
- vue.js - Quasar(vue)中嵌套在路由器中的子级中的父级触发方法
- python - 树莓派相机模块问题 OSError
- sql - 将字典列表转换为 Postgres jsonb 中的字典
- java - 如果没有 text 或 content desc 属性或者不是唯一属性,如何在 appium 中定位元素
- javascript - DynamoDB docclient get 返回空对象
- python - 必须将列表列表映射到另一个具有相同长度的列表并在 python 中写入 excel
- c# - c#业务中心重定向url后如何获取代码参数?
- visual-studio - 解决方案资源管理器在 Visual Studio 中显示错误
- move - 如何将添加的新记录的值从子文件移动到 RPGLE 中的物理文件?
- c++ - 使用 QMetaEnum 将枚举转换为字符串