You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
6.8 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "0be6f6cc",
"metadata": {
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div></div><div></div><div><strong>Installed Packages</strong><ul><li><span>Microsoft.Extensions.Configuration, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.Binder, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.CommandLine, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.EnvironmentVariables, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.ini, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.json, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.KeyPerFile, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.UserSecrets, 9.0.4</span></li><li><span>Microsoft.Extensions.Configuration.xml, 9.0.4</span></li><li><span>Microsoft.Extensions.DependencyInjection, 9.0.4</span></li><li><span>Microsoft.Extensions.Logging, 9.0.4</span></li><li><span>Microsoft.Extensions.Logging.Configuration, 9.0.4</span></li><li><span>Microsoft.Extensions.Logging.Console, 9.0.4</span></li><li><span>Microsoft.Extensions.Logging.Debug, 9.0.4</span></li><li><span>Microsoft.Extensions.Logging.EventSource, 9.0.4</span></li><li><span>Microsoft.Extensions.Options, 9.0.4</span></li><li><span>Microsoft.Extensions.Options.ConfigurationExtensions, 9.0.4</span></li><li><span>Microsoft.Extensions.Options.DataAnnotations, 9.0.4</span></li></ul></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"ename": "Error",
"evalue": "(66,24): error CS0234: 命名空间“System.ComponentModel”中不存在类型或命名空间名“DataAnnotations”(是否缺少程序集引用?)",
"output_type": "error",
"traceback": [
"(66,24): error CS0234: 命名空间“System.ComponentModel”中不存在类型或命名空间名“DataAnnotations”(是否缺少程序集引用?)"
]
}
],
"source": [
"#r \"nuget:Microsoft.Extensions.DependencyInjection\"\n",
"#r \"nuget:Microsoft.Extensions.Options\"\n",
"#r \"nuget:Microsoft.Extensions.Options.DataAnnotations\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.Binder\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.ini\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.xml\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.json\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.KeyPerFile\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.UserSecrets\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.CommandLine\"\n",
"#r \"nuget:Microsoft.Extensions.Configuration.EnvironmentVariables\"\n",
"#r \"nuget:Microsoft.Extensions.Options.ConfigurationExtensions\"\n",
"#r \"nuget:Microsoft.Extensions.Logging\"\n",
"#r \"nuget:Microsoft.Extensions.Logging.Console\"\n",
"#r \"nuget:Microsoft.Extensions.Logging.Debug\"\n",
"#r \"nuget:Microsoft.Extensions.Logging.EventSource\"\n",
"#r \"nuget:Microsoft.Extensions.Logging.Configuration\"\n",
"\n",
"global using Microsoft.Extensions.DependencyInjection;\n",
"global using Microsoft.Extensions.Configuration;\n",
"global using Microsoft.Extensions.Configuration.Ini;\n",
"global using Microsoft.Extensions.Configuration.Xml;\n",
"global using Microsoft.Extensions.Configuration.Memory;\n",
"global using Microsoft.Extensions.Configuration.Json;\n",
"global using Microsoft.Extensions.Configuration.CommandLine;\n",
"global using Microsoft.Extensions.Configuration.EnvironmentVariables;\n",
"global using Microsoft.Extensions.Options;\n",
"global using Microsoft.Extensions.Logging;\n",
"global using Microsoft.Extensions.Logging.Debug;\n",
"global using Microsoft.Extensions.Logging.Console;\n",
"global using Microsoft.Extensions.Logging.EventSource;\n",
"global using Microsoft.Extensions.Logging.Configuration;\n",
"\n",
"//环境变量\n",
"//Environment.SetEnvironmentVariable(\"Database:PSQL\", \"Host=localhost;Port=5432;Username=postgres;Password=psql-461400;Database=Study;\", EnvironmentVariableTarget.Process);\n",
"\n",
"//配置文件\n",
"IConfigurationBuilder configBuilder = new ConfigurationBuilder();\n",
"configBuilder\n",
" .SetBasePath(Environment.CurrentDirectory)\n",
" .AddJsonFile(\"config.json\",false,true)\n",
" .AddEnvironmentVariables()\n",
" .AddUserSecrets(\"PolyglotNotebooksStudy\",true)\n",
" .AddCommandLine(new string[]{})\n",
";\n",
"\n",
"public IConfiguration DataBaseConfig = configBuilder.Build();\n",
"\n",
"//DI\n",
"ServiceCollection Services = new ServiceCollection();\n",
"Services\n",
" .AddSingleton<IConfiguration>(DataBaseConfig)\n",
" .AddLogging(setup =>\n",
" {\n",
" setup.AddConfiguration();\n",
" setup.AddDebug();\n",
" setup.AddConsole();\n",
" })\n",
" ;\n",
"public ServiceProvider SharedContainer = Services.BuildServiceProvider();\n",
"\n",
"public class DbConnectionString\n",
"{\n",
" public string MsSqlConnectionString {get;set;}\n",
" public string MySQLConnectionString {get;set;}\n",
" public string PSQLConnectionString {get;set;}\n",
" public string SQLiteConnectionString {get;set;}\n",
" public string DuckDBConnectionString {get;set;}\n",
"}\n",
"\n",
"///<summary>\n",
"/// 数据库连接字符串\n",
"///</summary>\n",
"public DbConnectionString SharedDbConnect = new DbConnectionString()\n",
"{\n",
" MsSqlConnectionString = DataBaseConfig.GetValue<string>(\"Database:SQLServer\"),\n",
" MySQLConnectionString = DataBaseConfig.GetValue<string>(\"Database:MySQL\"),\n",
" PSQLConnectionString = DataBaseConfig.GetValue<string>(\"Database:PSQL\"),\n",
" SQLiteConnectionString = DataBaseConfig.GetValue<string>(\"Database:SQLite\"),\n",
" DuckDBConnectionString = DataBaseConfig.GetValue<string>(\"Database:DuckDB\"),\n",
"};\n",
"\n",
"//SharedDbConnect.Display();\n",
"\n",
"public class Student\n",
"{\n",
" public int Id {get;set;}\n",
"\n",
" public string Name {get;set;}\n",
"\n",
" public int Age {get;set;}\n",
"}"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"languageName": "csharp",
"name": "csharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}