GitHub Copilot 通过直接解决基于 SQL 和 ORM 的工作流中的本地化和格式设置需求,帮助开发人员构建全球感知的应用程序。 无论你使用的是多语言内容、特定于区域的日期和数字格式,还是用于搜索和排序的排序规则设置,GitHub Copilot 都提供智能的上下文感知帮助,使数据库和代码可供国际用户使用。
开始吧
确保已连接到数据库,并使用 MSSQL 扩展打开活动编辑器窗口。 通过此连接, @mssql
聊天参与者可以了解数据库环境的上下文,从而提供准确的上下文感知建议。 如果没有数据库连接,聊天参与者将没有架构或数据上下文来提供有意义的响应。
以下示例使用 AdventureWorksLT2022
示例数据库,可以从 Microsoft SQL Server 示例和社区项目 主页下载该数据库。
为了获得最佳结果,请调整表和架构名称以匹配自己的环境。
确保聊天包含 @mssql
前缀。 例如,键入 @mssql
后跟问题或提示。 这可确保聊天参与者了解你请求与 SQL 相关的帮助。
使用 GitHub Copilot 处理本地化和格式设置
GitHub Copilot 可以帮助在基于 SQL 和 ORM 的工作流中执行本地化和格式设置任务。 它可以帮助你设计支持多语言内容的架构、为区域标准设置查询格式,并生成符合本地化最佳做法的代码。
下面是通过聊天参与者可以询问的常见用例和示例:
优化多语言和区位特定的数据
使用 GitHub Copilot 帮助设置区域标准的查询格式、选择正确的排序规则设置,以及设计架构元素以支持多语言内容,例如以多种语言存储产品说明。
设计一个本地化表来存储
SalesLT.Product
表的产品说明。 确保表支持多种语言,包含与SalesLT.Product
的关系,并允许高效查询。设置查询的格式以以日语格式显示日期:
SELECT FORMAT(GETDATE(), 'yyyy/MM/dd') AS CurrentDate;
建议在 SQL Server 中支持多语言用户输入和搜索功能时选择排序规则设置的最佳做法。
编写 Prisma 模型和查询,以存储和检索数据库中表的
SalesLT.Product
多语言产品说明。 确保架构支持多种语言,维护与SalesLT.Product
的外键关系,并允许高效查询本地化描述。
代码优先本地化方案
这些示例演示 GitHub Copilot 如何通过生成用于存储和检索本地化数据的 ORM 模型和查询来支持代码优先工作流。 这些示例涵盖常用 ORM,例如 Prisma、SQLAlchemy、Entity Framework、Sequelize 和 Django。
使用 Entity Framework Core 定义一个模型
ProductDescriptionLocalized
,该模型映射到多种语言并与SalesLT.Product
相关。 包括按语言代码进行筛选的逻辑。在 Prisma 中,生成支持本地化说明
SalesLT.Product
的架构,并编写查询以检索西班牙语中给定产品的说明(es
)。使用 Sequelize,创建一个本地化的表,用于存储产品说明,其中包括
ProductID
、LanguageCode
和Description
。 编写查询以返回日语说明(如果可用),否则回退到默认语言。使用 SQLAlchemy 编写一个函数,该函数根据用户指定的区域设置检索给定
ProductID
的本地化名称和说明,并将回退逻辑回退为默认语言。在 Django ORM 中,设计支持产品本地化的模型,并编写一个查询,以检索所有产品的法语名称和描述(
fr
),并且包括任何缺失的翻译作为NULL
。
反馈:本地化和格式设置帮助程序
为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈
提交反馈时,请考虑包括:
测试方案 – 告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。
效果良好 - 描述任何感觉流畅、有用或超出预期的体验。
问题或漏洞 – 包括任何问题、不一致或令人困惑的行为。 屏幕截图或屏幕录制特别有用。
改进建议 - 分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。