将技能提升到新水平
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)
- 创建 Contacts 数据库。
- 运行 ChatGPT 生成的脚本。
- 对数据库进行备份。
- 完整地填充一个联系人。
使用以下语句读取联系人,以验证模式:
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 样式。
Summary
虽然已经提供了数据库基础代码和脚本,但请在下一个学习项目中尝试一下。前端项目的选择提供了大量学习内容;除非真的卡住,否则请抵制使用 AI 工具的冲动。记住,主要目标是学习——这也是避免“vibe coding”的首要原因。