我正在使用Entity Framework并希望在上下文类中进行一些更改
对于前。我正在为连接字符串创建另外一个构造函数,但每次打开.edmx
文件并保存它时都会出现问题,然后我的更改不再存在。
有没有办法告诉.edmx
不要撤消我在上下文类或T4类中的更改?
答案 0 :(得分:5)
您无法更改生成的代码。您可以添加内容,因为生成的类是部分类。
将您的添加内容添加到包含分部类的自定义部分的单独文件中。
答案 1 :(得分:0)
另一种方法是自己修改T4模板,并始终将您的特定需求应用于生成的类。 例如,当您希望INotifyPropertyChanged作为每个类的接口时,通常会这样做。 此方法仅适用于您的更改本质上是通用的。如果您只想在一个类中进行特定更改,则此解决方案不适合您。
另一种方法是首先使用代码完全控制类。 您可以使用特殊属性标记方法和属性,以将它们映射到db。还有一个逆向工程选项可以从现有数据库创建这些类。您将进行一次逆向工程,然后控制这些类并根据您的需要调整它们
我现在通常采用最后一种方法,因为它不使用部分类,所有属于类的代码都在同一个文件中。
Maarten的答案也很好,但还有2个选项。