{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "0be6f6cc", "metadata": { "polyglot_notebook": { "kernelName": "csharp" } }, "outputs": [ { "data": { "text/html": [ "
Installed Packages
" ] }, "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(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", "///\n", "/// 数据库连接字符串\n", "///\n", "public DbConnectionString SharedDbConnect = new DbConnectionString()\n", "{\n", " MsSqlConnectionString = DataBaseConfig.GetValue(\"Database:SQLServer\"),\n", " MySQLConnectionString = DataBaseConfig.GetValue(\"Database:MySQL\"),\n", " PSQLConnectionString = DataBaseConfig.GetValue(\"Database:PSQL\"),\n", " SQLiteConnectionString = DataBaseConfig.GetValue(\"Database:SQLite\"),\n", " DuckDBConnectionString = DataBaseConfig.GetValue(\"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 }