使用实体框架时覆盖实体中的 ToString、Equals、..
我想重写由实体框架模型生成的 Entity 的 ToString
、Equals
和 GetHashCode
方法。
执行此操作的最佳方法是什么?
现在,我正在手动编辑生成模型的 ___Model.Designer.cs
文件,但每次更改模型时,当然,我失去了这些改变。
I would like to override ToString
, Equals
and GetHashCode
methods of an Entity generated by the model of the Entity Framework.
What could be the best way of doing this?
Now I'm manually editing the ___Model.Designer.cs
file that generates the model, but everytime I change the model, of course, I lost these changes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每个实体都被定义为一个分部类,以便您可以定义一个附加的分部类来使用附加属性或方法来扩展该实体。
假设您在 EntityModel 中定义了一个实体
Person
。现在,您可以在项目中创建一个新的类文件名称
Person.cs
。在类文件中,您定义一个分部类,该分部类必须在与
Person
实体相同的命名空间和相同的程序集中定义。新的类文件不受 EntityModel 中的更改的影响(仅当您删除实体或更改属性时,您的部分类可能需要更新)。
Every Entity is defined as a partial class, so that you can define an additional partial class to extend the Entity with additional properties or methods.
Lets say you have defined an Entity
Person
in your EntityModel.Now you can create a new class file name
Person.cs
in your project. Within the class file you define aThe partial class must be defined in the same namespace and the same assembly as the
Person
Entity.The new class file is unaffected by changes in the EntityModel (Only if you remove the Entity or change properties, then your partial class might need an update).