如何在Entity Framework中为自动生成的类添加自定义方法?

Vim*_*987 8 .net c# design-patterns entity-framework

我有一个有两种方法的课程如下:

public class WorkManagement
{
    public string DoYourWork(Manager manager)
    {
        //
    }

    public string DoYourWork(Employee employee)
    {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

Manager和Employee是从数据库(在Entity Framework中)生成的类.我认为这很难看,例如,当我需要扩展更多类时,所以我想将它重构为:

 public interface IDoWork
 {
    string DoSomeWork();
 }

public class Manager:IDoWork
{
    public string DoSomeWork()
    {
        //
    }
}

public class Employee:IDoWork
{
    public string DoSomeWork()
    {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我如何处理自动生成的类?我如何添加这些东西?

谢谢.

Ale*_*Aza 8

自动生成的代码会创建分部类.

public partial class Manager : EntityObject
Run Code Online (Sandbox Code Playgroud)

所以你只需要向分部类添加一个文件,如下所示:

public partial class Manager : IDoWork
{
   public string DoSomeWork()
   {
   }
}
Run Code Online (Sandbox Code Playgroud)

参考MSDN.

如何:自定义生成的数据对象