在PMC中执行add-migration后,将创建Up类中的所有正确更改的迁移类。
当我在PMC中运行update-database命令时,出现错误消息
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference db1=db.collection("Joboffers");
db1.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
String empid = "";
for ( DocumentChange snapshot : documentSnapshots.getDocumentChanges())
{
if (snapshot.getType()==DocumentChange.Type.ADDED) {
empid = snapshot.getDocument().getId();
Log.d("employerid",empid);
}
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference db2 =db.collection("Joboffers").document(empid).collection("Offers");
db2.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
for (DocumentChange snapshot1 : documentSnapshots.getDocumentChanges()) {
JO jo=new JO();
if (snapshot1.getType() == DocumentChange.Type.ADDED) {
jo = snapshot1.getDocument().toObject(JO.class);
String s=jo.getPoste().toString();
Log.d("poste",s);
postelist.add(jo);
jolistadapter.notifyDataSetChanged();
}
}
}
});
}
MList.setAdapter(jolistadapter);
}
});
我以前从未见过,它说的文件显然不存在。
如果我执行remove-migrations命令,则不会删除新创建的迁移类,则会收到一条错误消息,指出先前的迁移已被应用。
似乎所有通过add-migrations创建的新迁移都无法通过update-database或remove-migration命令来识别
答案 0 :(得分:1)
其中一个原因是 dbcontext 不在启动项目中,而是在另一个项目中。在这种情况下,PM 可能无法找到完成迁移的路由。我们可以使用带有显式 dbcontext 和 proj 名称的 dotnet,其中 dbcontext 是:
dotnet ef 数据库更新 --context YourAppContext --project YourProj
答案 1 :(得分:0)
我们只是遇到了同样的问题。问题是,我们从 Visual Studio 的解决方案中排除了 Migrations 文件夹。
以上步骤为我们解决了此问题。