{
"cells": [
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"连接数据库\n",
"============================== "
]
},
"连接到SQL Server,并操作数据。"
"## 引用操作类库"
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
"polyglot_notebook": {
"kernelName": "csharp"
}
"outputs": [],
"#r \"nuget:Microsoft.Dotnet.Interactive.SqlServer,*-*\""
"## 连接到SQL Server"
"### 数据库连接命令"
"#### 命令概述: 使用帮助参数"
"数据库连接命令为 `#!connect` 查看连接帮助 `#!connect -h`"
"#!connect -h"
"#### 连接到本机SQL Server"
"1. 建立连接"
"> 连接到本机SQL Server, 特别注意的是 --kernel-name 指定名称,后面的SQL操作均需要使用:sql-{{kernel-name}}的值\n",
"> 比如 --kernel-name Demo, 则该SQL连接的kernel名称为 sql-Demo, 使用 #!sql-Demo 进行引用"
"#!connect mssql \"server=.\\SQL2008;uid=sa;pwd=gly-bicijinlian;database=Study;Encrypt=True;TrustServerCertificate=True;\" --kernel-name Demo\n",
"//重复执行会抛出错误,目前没有找到解决方法"
"2. 使用连接: 方式一"
"> 在右下角,切换 Kernel, 由 `csharp - C# Script` 换成 由--kernel-name指定值生成的 `sql-Demo - T-SQL`"
"language": "sql-Demo"
"kernelName": "sql-Demo"
"SELECT * from Student"
"2. 使用连接:方式二(推荐)"
"> 使用 `#!sql-Demo` ,后面直接写SQL语句,不用切换 kernel "
"#!sql-Demo\n",
"## 使用 EF Core"
"### 新连接: 添加 --create-dbcontext 参数"
"#!connect mssql \"server=.\\SQL2008;uid=sa;pwd=gly-bicijinlian;database=Study;Encrypt=True;TrustServerCertificate=True;\" --create-dbcontext --kernel-name DemoEF "
"上面的连接操作,会执行下面的任务:\n",
"+ 搭建EFCore基架,并初始化 DBContext 的实例: DemoEF\n",
"+ 安装包相关Nuget包,详情见输出\n",
"+ 添加新的子内核 #!sql-DemoEF"
"### 使用EFCore连接: 操作数据"
"#### 类SQL脚本方式"
"#!sql-DemoEF\n",
"#### C#程序中使用EF Core"
"//连接建立后,执行环境中就有了相关的类:DBContext等\n",
"DemoEFContext context = new DemoEFContext();\n",
"var t = context.Students.ToList<Student>();\n",
"display(t);\n",
"\n",
"FormattableString fs = $\"select * from Student;\";\n",
"var c = context.Database.ExecuteSql(fs);\n",
"display(c);"
"language": "sql-DemoEF"
"kernelName": "sql-DemoEF"
"var data = from "
],
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
"language_info": {
"name": "polyglot-notebook"
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
"aliases": [],
"name": ".NET"
"aliases": [
"C#",
"c#"
"languageName": "C#",
"name": "csharp"
"F#",
"f#"
"languageName": "F#",
"name": "fsharp"
"languageName": "HTML",
"name": "html"
"languageName": "KQL",
"name": "kql"
"languageName": "Mermaid",
"name": "mermaid"
"powershell"
"languageName": "PowerShell",
"name": "pwsh"
"languageName": "SQL",
"name": "sql"
"languageName": "T-SQL",
"name": "sql-Demo"
"name": "sql-DemoEF"
"name": "value"
"frontend"
"name": "vscode"
"nbformat": 4,
"nbformat_minor": 2