Entity framework ADO.NET实体框架:为业务实体创建通用接口的最佳方法?

Entity framework ADO.NET实体框架:为业务实体创建通用接口的最佳方法?,entity-framework,ado.net,ado.net-entity-data-model,Entity Framework,Ado.net,Ado.net Entity Data Model,我刚刚开始使用ADO.NET实体数据模型,我很好奇扩展实体行为的最佳方式是什么 假设我有一个名为“Customers”的表,我基于该表创建了一个实体模型。我现在有了一个“客户”实体类。现在我想向这个类添加一些方法,并使它实现一个接口 我是应该直接更改Designer.cs文件中的代码,还是应该从客户那里继承代码并在那里做额外的工作 任何建议/建议都很好 谢谢。请勿更改设计器代码。实体创建分部类,这样您就可以这样做 public partial class Customer: IAmACoolIn

我刚刚开始使用ADO.NET实体数据模型,我很好奇扩展实体行为的最佳方式是什么

假设我有一个名为“Customers”的表,我基于该表创建了一个实体模型。我现在有了一个“客户”实体类。现在我想向这个类添加一些方法,并使它实现一个接口

我是应该直接更改Designer.cs文件中的代码,还是应该从客户那里继承代码并在那里做额外的工作

任何建议/建议都很好


谢谢。

请勿更改设计器代码。实体创建分部类,这样您就可以这样做

public partial class Customer: IAmACoolInterface
{
 //implement stuff here



 }

是的,实体框架就是这样做的。这是一个正确的答案(+1),但我要补充的是,将业务方法放在实体类型上通常是错误的。实体类型用于映射。业务逻辑是一个独立的关注点。如果您需要执行一个方法,请使用LINQ to实体来投影到POCO类型并在那里执行方法。依我拙见再加一句。当我在表中创建外键时,实体为我提供了外键所在表的对象和引用对象,而不是ID。为什么会这样做?James,这详细解释了FKs的思想和EF 4的变化: