我正在使用EF来使用Model.context.tt模板生成我的模型described in this post.
我的模型生成后,我想进入并对模型进行一些修改。我能够做到这一点,但我遇到的问题是,如果我从数据库更新我的模型,它将覆盖我已经完成的任何自定义。
有没有办法保留我在继续从数据库更新时对模型所做的更改?
答案 0 :(得分:1)
您需要创建具有完全相同名称的部分类,并且在与生成的模型相同的命名空间中,您将能够修改该类,而不会在每次重新生成T4模板时丢失更改。
如果您需要对原始类进行更精细的调整编辑,则必须编辑.tt模板。虽然我会 HIGHLY 建议查看Code First(这可能比现有数据库更有可能),因为您可以完全控制类+映射。
您可以从复制当前生成的文件开始,并将它们用作代码优先模型的基础。
一个常见的误解是,由于名称,Code First不适用于现有数据库/数据库优先工作。但事实并非如此。