我正在尝试使用ASP.NET Core,并用它创建了一个新的Web应用程序(MVC)站点:
git init CoreWebApp
cd CoreWebApp
dotnet new -t web
dotnet restore
代码启动后,我运行了初始EF迁移
dotnet ef database update
此时在./bin/Debug/netcoreapp1.0/WebApplication.db
生成一个数据库,该站点运行并允许用户注册并成功登录。我想通过SSMS,LINQPad或其他标准SQL客户端连接到该数据库,但遇到了麻烦。 “打开文件”提示通常会查找.mdf
扩展名并抱怨.db
文件。
如何从SQL客户端连接到ASP.NET Core,EF生成的WebApplication.db文件?
答案 0 :(得分:1)
创建"Microsoft.EntityFrameworkCore.Sqlite": "1.0.1",
命令时考虑了可移植性,因此它也可以在非Windows系统上运行。由于Linux和Mac没有SQLExpress,因此使用SQLite作为数据库创建模板。
所以你需要一个SQLite客户端来打开它。
当然,您可以自由地替换任何支持EntityFramework Core的提供程序,例如SQLServer。
只需替换
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
使用在project.json中
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
和
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
带
"ConnectionStrings": {
"DefaultConnection": "Data Source=WebApplication.db"
},
在Startup.cs中,最后是appsettings.json中的连接字符串
"ConnectionStrings": {
"DefaultConnection": "Server=.\SQLExpress;AttachDbFilename=C:\MyFolder\MyDataFile.mdf;Database=dbname;Trusted_Connection=Yes;"
}
使用
pub trait FreqMap {
type Content;
type Count;
fn frequency_map(&self) -> BTreeMap<Self::Content, Self::Count>;
}
impl FreqMap for str {
type Content = char;
type Count = usize;
fn frequency_map(&self) -> BTreeMap<char, usize> {
let mut freqmap = BTreeMap::new();
for c in self.chars() {
*freqmap.entry(c).or_insert(0) += 1;
}
freqmap
}
}