在普通的实体框架中,很容易实现生成的 sql 查询的视图:
using (var context = new SomeContext())
{
context.Database.Initialize(false);
context.Database.Log = Console.WriteLine;
//...
}
结果,sql 将输出到控制台,您可以评估结果查询。第一行需要排除上下文初始化代码。
如何登录 Entity Framework Core?
在普通的实体框架中,很容易实现生成的 sql 查询的视图:
using (var context = new SomeContext())
{
context.Database.Initialize(false);
context.Database.Log = Console.WriteLine;
//...
}
结果,sql 将输出到控制台,您可以评估结果查询。第一行需要排除上下文初始化代码。
如何登录 Entity Framework Core?
在 EF Core 中以标准方式:Add-Migration + Update-Database,创建了一个 Sql Server 数据库。它是使用连接字符串创建的
@"Server=(localdb)\mssqllocaldb;Integrated Security=True"
也就是说,没有说明Initial Catalog
。
您可以使用它,插入/删除/更改/接收数据。
但是 mdf 文件本身在哪里?
它不在用户文件夹中。不在应用程序文件夹中。不在 Sql Server 本身的文件夹中。搜索整个磁盘没有找到任何东西。神秘!
此外,Drop-Database 命令不起作用:它给出连接字符串必须包含的消息Initial Catalog
。
在 .NET 标准类库项目中,对 System.IO 命名空间中的类型的任何访问都会引发异常:
无法加载文件或程序集 'System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。找不到指定的文件。
几天前一切正常。我和会计部的阿姨一样,什么都没碰,“它本身”。
项目的 Dependencies 既有 System.IO 又有 System.IO.FileSystem。
尝试清洁和重建解决方案。尝试清除 nuget 缓存。击打手鼓。没有任何帮助。
该库本身是从各种 .NET Core 项目(以及经典 .NET 上的项目——事实证明,这就是问题所在)中调用的。