Как сначала передать объект Dbset в качестве параметра любой пользовательской функции в коде структуры сущностей?

Я хочу передать объект Dbset моему методу.

Это мой метод:

public static class MyClass
    {
       public static Floor ReturnObject(this DbSet<Floor> floor, int Id)
        {
           var context = floor.passContext() as MyDBContext;
           var data = context.floors.Where(a =>a.Id == Id).FirstOrDefault();
           return ad;
        }
     }

   public class MyDBContext: DbContext
    {
          public DbSet<Floor> floors { get; set; }
    }

public static DbContext passContext<TEntity>(this DbSet<TEntity> dbSet)
            where TEntity : class
        {
                 //code....
        }

Теперь я хочу использовать мой метод статического класса MyClass, который является ReturnObject.

Я хочу использовать метод ReturnObject в моем контроллере.

Я знаю, что могу объявить это как личный член в моем контроллере:

Это мой контроллер:

public class MyController
{
       private DbSet<Floor> floor;//but is this a good way???
         public ActionResult Index(int Id)
            {
              var data=MyClass.ReturnObject(????,Id)//what should come in place of question mark??
            }
}

Как я должен передать свой первый параметр в метод ReturnObject???

1 ответ

Измени свой ReturnObject метод. Это должно только принять Id в качестве параметра и фильтра данных, чем возвращаемый объект Floor,

public static Floor ReturnObject(int Id)
{
  using(MyDBContext context = new  MyDBContext())
  {
       var data = context.floors.Where(a =>a.Id == Id).FirstOrDefault();
       return ad;
   }
}

И когда вы называете это, чем только передать идентификатор в качестве параметра

var data=MyClass.ReturnObject(Id);

Это вернет объект пола, который будет храниться в data,

Другие вопросы по тегам