C# 我应该修改实体框架生成的类吗?

C# 我应该修改实体框架生成的类吗?,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我已经使用Entity Framework从数据库生成了数据模型,但我想更改一些与样式相关的小事情。例如: public Nullable<int> eventId { get; set; } public可为空的事件ID{get;set;} 这是生成的C代码的一部分,我想,比方说,将属性名更改为EventId 我只是想知道在EF环境中这样做是否安全,或者它是否会在以后适得其反并打到我的脸上…如果您将来再次自动生成类,您的更改将丢失。这在我的一个生产软件中发生过,我在生成的类中附

我已经使用Entity Framework从数据库生成了数据模型,但我想更改一些与样式相关的小事情。例如:

public Nullable<int> eventId { get; set; }
public可为空的事件ID{get;set;}
这是生成的C代码的一部分,我想,比方说,将属性名更改为
EventId


我只是想知道在EF环境中这样做是否安全,或者它是否会在以后适得其反并打到我的脸上…

如果您将来再次自动生成类,您的更改将丢失。这在我的一个生产软件中发生过,我在生成的类中附加了一个计算属性:

public string GetOtherProps=>$“{this.prop1},{this.prop2}”

然后在我们的应用程序中引用它


由于某种原因,这些类被重新生成,在我们的整个软件中突然出现了数百个
未知引用错误。

自动生成的类永远不应该被手动修改。将它们从样式检查中排除。数据库中列的名称是什么?eventId或eventId?创建一个分部类,在其中添加一个新属性eventId和get and set对eventId起作用。可能是重复的Yup,我的经理在错误发生时向我指出了这一点。花了一点时间才发现这些类已经重新生成,因为在它们没有的地方,这显然不是本地的问题:)坦白地说,我有点惊讶于它被视为一个有效的答案。事实上,您是说:“我也忽略了生成文件的第一行中的警告,我仍然编辑了代码,然后陷入了麻烦。”。你的情况不同,解决方案也不同。您应该添加一个分部类。OP应该编辑EDMX中的属性名称。@GertArnold我说我做了OP打算做的事情,但这是错误的。这是错误的,因为我忽略了这些警告,OP也忽略了这些警告,并且提出了这个问题。我提供了一个例子来说明为什么不应该忽略这些警告,以及当您忽略这些警告时会发生什么。不需要居高临下。@GertArnold的观点很好,但如果您知道具体编辑什么以有效方式覆盖默认生成的名称,您可以将它们作为实际答案发布。