& # 39;逆向工程师# 39;模型优先-删除表和列前缀

本文关键字:删除 前缀 模型 工程师 | 更新日期: 2023-09-27 18:13:11

我正在使用VS2013更新3的'逆向工程'模型优先功能从现有数据库开发EF模型。不幸的是,我没有完全控制数据库模式,它使用表和列前缀(例如tblPerson, cFirstName, cLastName)。如果可能的话,我不希望将这些前缀复制到我的模型类和属性中。当使用EF6重新生成模型时,是否很容易促进这种前缀的"删除",或者我最终会编写大量代码并使用拜占庭式的再生过程来实现这一点?

& # 39;逆向工程师# 39;模型优先-删除表和列前缀

我解决这个问题的方法是使用T4模板。我热衷于使用VS2013中现在可用的"逆向工程代码优先从数据库"选项。不太清楚的是,您可以使用T4模板修改生成的代码。缺少的步骤是使用包管理器控制台安装和修改缺省T4模板—参见http://msdn.microsoft.com/en-us/data/dn753860

所以你基本上会在T4模板中得到这样的东西(仅用于说明目的的粗略代码):

<>之前var charsToTrim = "abcdefghijklmnopqrstuvwxyz".ToCharArray();var className = code.Type(entityType).ToString().TrimStart(charsToTrim);