EF核心迁移无法识别

时间:2018-06-20 12:17:36

标签: entity-framework-core ef-core-2.0

在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命令来识别

2 个答案:

答案 0 :(得分:1)

其中一个原因是 dbcontext 不在启动项目中,而是在另一个项目中。在这种情况下,PM 可能无法找到完成迁移的路由。我们可以使用带有显式 dbcontext 和 proj 名称的 dotnet,其中 dbcontext 是:

dotnet ef 数据库更新 --context YourAppContext --project YourProj

答案 1 :(得分:0)

我们只是遇到了同样的问题。问题是,我们从 Visual Studio 的解决方案中排除了 Migrations 文件夹。

  • 项目显示所有文件
  • 右键单击在“ 迁移”上
    »包含在项目中

以上步骤为我们解决了此问题。