如何用EF Core Power Tools从MS SQL生成字段而非属性的模型?
解决方法与影响说明
一、让EF Core Power Tools生成字段而非属性的实现方式
EF Core Power Tools支持通过自定义T4模板修改代码生成格式,具体操作如下:
- 启动反向工程向导时,找到自定义模板选项;
- 复制默认的实体类模板(通常为
Class.tt)到本地可编辑目录; - 打开模板文件,定位到生成属性的代码块(类似生成
public <type> <name> { get; set; }的逻辑),将其替换为生成字段的代码,比如改为public <type> <name>;; - 保存修改后的模板,在反向工程时选择该模板,生成的实体类就会以公共字段形式呈现。
二、改用字段对EF Core数据操作的影响
EF Core完全支持将实体类的公共字段映射到数据库列,不会影响常规数据操作:
- 查询、新增、更新、删除等数据库操作都能正常执行,操作方式和使用属性时完全一致;
- 无需额外配置,只要字段是
public修饰符,EF Core会自动完成字段与数据库列的映射。
三、适配Unity JSONUtility的场景说明
你的场景中,服务端用EF Core操作数据库、客户端Unity依赖JSONUtility序列化/反序列化,改用公共字段后:
- Unity的JSONUtility可正常序列化/反序列化这些字段;
- 服务端EF Core也能正常进行数据库交互,实现了模型类在两端的复用。
内容的提问来源于stack exchange,提问作者Andrew Production
相关产品推荐
相关产品推荐

