DataDictKit 8.7.0
dotnet add package DataDictKit --version 8.7.0
NuGet\Install-Package DataDictKit -Version 8.7.0
<PackageReference Include="DataDictKit" Version="8.7.0" />
<PackageVersion Include="DataDictKit" Version="8.7.0" />
<PackageReference Include="DataDictKit" />
paket add DataDictKit --version 8.7.0
#r "nuget: DataDictKit, 8.7.0"
#:package DataDictKit@8.7.0
#addin nuget:?package=DataDictKit&version=8.7.0
#tool nuget:?package=DataDictKit&version=8.7.0
DataDictKit
Генерация словаря данных из EF Core DbContext в форматах Word (.docx), JSON и DataTable.
Установка
dotnet add package DataDictKit
API-справочник (класс DataDictionary)
GenerateDocx(DbContext context, string filePath)
Генерирует Word-документ словаря данных из DbContext. Документ содержит заголовок, дату и таблицу для каждой сущности с колонками: Поле, Перевод, Тип данных, Ограничения, Ключ, Примечание.
DataDictionary.GenerateDocx(context, "dictionary.docx");
GenerateJson(DbContext context, string filePath)
Генерирует словарь данных в формате JSON. Каждая сущность представлена как массив объектов с описанием полей.
DataDictionary.GenerateJson(context, "dictionary.json");
ToDataTables(DbContext context)
Возвращает метаданные сущностей DbContext в виде словаря Dictionary<string, DataTable>, где ключ -- имя сущности, значение -- DataTable с колонками: Поле, Перевод, Тип данных, Ограничения, Ключ, Примечание.
var tables = DataDictionary.ToDataTables(context);
foreach (var (entityName, dt) in tables)
{
Console.WriteLine($"Сущность: {entityName}, полей: {dt.Rows.Count}");
}
Особенности
- Автоматический перевод распространенных имен свойств (Name, Salary, Phone, Email и др.) на русский язык.
- Поддержка атрибута
[Display(Name = "...")]для пользовательских переводов. - Определение первичных (PK) и внешних (FK) ключей.
- Вывод SQL-типов данных (nvarchar, int, datetime2 и др.).
- Отображение ограничений (NULL/NOT NULL, MaxLength).
Примеры использования
Генерация словаря данных во всех форматах
using DataDictKit;
using Microsoft.EntityFrameworkCore;
using var context = new MyDbContext();
// Word-документ
DataDictionary.GenerateDocx(context, "Словарь_данных.docx");
// JSON-файл
DataDictionary.GenerateJson(context, "Словарь_данных.json");
// DataTable для дальнейшей обработки
var tables = DataDictionary.ToDataTables(context);
foreach (var (name, dt) in tables)
{
Console.WriteLine($"--- {name} ---");
foreach (DataRow row in dt.Rows)
Console.WriteLine($" {row["Поле"]} ({row["Тип данных"]}) - {row["Перевод"]}");
}
Использование DataTable для отображения в DataGridView
var tables = DataDictionary.ToDataTables(context);
foreach (var (entityName, dt) in tables)
{
dataGridView.DataSource = dt;
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- DocumentFormat.OpenXml (>= 3.5.1)
- Microsoft.EntityFrameworkCore (>= 8.0.25)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DataDictKit:
| Package | Downloads |
|---|---|
|
ISBuilder
Information System Builder — full toolkit for building .NET 8 WinForms applications with EF Core, SQL Server. Export, CRUD, forms, charts, auth, reports, validation, themes. |
GitHub repositories
This package is not used by any popular GitHub repositories.