将技能提升到新水平

发布: (2026年3月16日 GMT+8 08:07)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您想要翻译的完整文本内容,我将为您翻译成简体中文并保持原有的格式、Markdown 语法以及技术术语不变。

介绍

作为开发者、专业人士或刚起步的人,你必须不断学习并磨练自己的技能。实现这一目标的好方法是写下目标,然后创建一个副项目。

这里的目标是使用 SQL Server 关系型数据库和 Microsoft EF Core 与之交互,构建一个联系人解决方案,并在课堂项目中实现。

数据库创建

开发人员应考虑使用 AI 工具来构建他们的数据库,尤其是在他们对关系数据库和适当的索引经验有限的情况下。

使用 ChatGPT 创建数据库

提示

对于联系人数据库,使用了以下提示:

对于 Microsoft SQL Server,创建一个新的关系数据库脚本,以创建联系人数据库。
数据库名称:Contacts
人员表、性别参考表(Male, Female, Other)、美国参考表、地址类型参考表、地址表、设备表(Home phone, Work phone, Home email, Work email)
我还需要哪些其他表?

最后一句话邀请 ChatGPT(或其他工具)提供建议。在本例中,包含了若干关联表(也称为关联表、桥接表或链接表)。

注释

关联表(也称为关联表、桥接表或链接表)是管理两个其他表之间多对多关系的标准关系数据库设计实践。

填充数据库表

对于参考表,ChatGPT 生成的脚本包含了多个表,其中包括一个已填充数据的性别表。

执行 ChatGPT 创建的脚本

使用 SSMS(SQL Server Management Studio)

  1. 创建 Contacts 数据库。
  2. 运行 ChatGPT 生成的脚本。
  3. 对数据库进行备份。
  4. 完整地填充一个联系人。

使用以下语句读取联系人,以验证模式:

SELECT P.PersonId,
       P.FirstName,
       P.LastName,
       P.MiddleName,
       P.DateOfBirth,
       P.GenderId,
       G.GenderName,
       P.CreatedAt,
       P.UpdatedAt,
       D.IsActive,
       D.DeviceValue,
       DT.DeviceTypeName,
       DT.DeviceKind,
       DT.DeviceTypeId,
       P.Notes
FROM dbo.DeviceType AS DT
INNER JOIN dbo.Device AS D
        ON DT.DeviceTypeId = D.DeviceTypeId
INNER JOIN dbo.PersonDevice AS PD
        ON D.DeviceId = PD.DeviceId
INNER JOIN dbo.Person AS P
        ON PD.PersonId = P.PersonId
INNER JOIN dbo.Gender AS G
        ON P.GenderId = G.GenderId;
  • 继续使用当前模式,或进行调整后重新验证模式。

逆向工程数据库

这项工作最好使用 Microsoft Visual Studio 扩展 EF Power Tools 来完成,该扩展易于使用。
观看一个 25‑分钟演示 以了解该工具的入门介绍。

逆向工程在一个类项目中执行,允许一个或多个前端项目使用生成的模型。

前端集成

选择前端项目类型(桌面、移动或网页)。不要直接跳入代码或使用 AI 工具,首先制定外观和感觉的计划,确定表单或页面所需的类,并根据需要添加模态框。

规划

  • 使用文档和图片。
  • 使用 Gherkin 语法进行行为驱动开发(BDD)。

Before coding

为该解决方案创建一个 GitHub 仓库(私有或公开),其中仅包含可运行的代码。

Coding

慢慢来,遵循你的计划,并且在编码时准备好让计划演变;必要时进行更新。

文档

文档至关重要——当你在下周重新查看时,可能无法完全理解今天编写的代码。

  • 每个项目至少需要一个 README.md 来描述项目。
  • 记录所有类、方法和内联代码。
  • 对于移动端和网页项目,记录 CSS 样式。

Source code

Summary

虽然已经提供了数据库基础代码和脚本,但请在下一个学习项目中尝试一下。前端项目的选择提供了大量学习内容;除非真的卡住,否则请抵制使用 AI 工具的冲动。记住,主要目标是学习——这也是避免“vibe coding”的首要原因。

0 浏览
Back to Blog

相关文章

阅读更多 »