Как сначала передать объект 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
,