vgw*_*rdx 4 c# ef-migrations entity-framework-core visual-studio-2017
我的问题标题可能需要帮助。所以这里有更多细节。
在VS2015中,使用代码首次迁移创建数据库时,在完成第一次迁移后,我可以通过转到App_Data文件夹并单击MDF文件来在VS中查看数据库。然后,它将在服务器资源管理器中打开。
但是,在VS2017中,我不再有App_Data文件夹,当我进行第一次迁移时,它花费了一些时间来找出我的MDF文件所在的位置。
如果您不知道这是我用来查找它的步骤:
完成添加迁移和更新数据库之后。
转到视图-> SQL Server对象资源管理器
在SQL Server下,查找您的(localdb)\ MSSQLLocalDB-> Databases->数据库名称应显示在appsettings.json连接字符串中。可能以aspnet- [数据库名称]-[数字和字母串]开头
我右键单击该数据库,然后转到属性。在“当前连接参数”下是MDF文件的路径。
当前位置是“ C:/用户/用户名”
所以我的问题是如何将其设置为其他默认位置?我希望将MDF文件显示在Data文件夹或项目文件夹中的类似文件中。
如果已经问过这个问题。抱歉,我尝试将问题重新措词约20次,以弄清楚是否有人已经提出过。如果已经以我不熟悉的方式提出了这个问题,我将迅速删除它。
好的,所以对于Entity Framework Core,它涉及的更多。您可以SQL Server Object Explorer在Visual Studio(或Sql Management Studio)中打开数据库,并使用SQL查询在需要的位置创建数据库。
create database test on (name='test', filename='c:\Projects\test.mdf');
Run Code Online (Sandbox Code Playgroud)
然后使用(LocalDb)引用它,就像通常在连接字符串中一样:
appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=test;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
Run Code Online (Sandbox Code Playgroud)
然后此测试正确运行
Program.cs
using System;
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
IConfigurationRoot configuration = builder.Build();
var optionsBuilder = new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
var context = new DbContext(optionsBuilder.Options);
context.Database.EnsureCreated();
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,您仍在使用同一台服务器,但是将数据库放置在所需的文件夹中。
| 归档时间: |
|
| 查看次数: |
5392 次 |
| 最近记录: |