2017-02-16 4 views
0

Я пытаюсь создать пример приложения, используя первый подход кода в MVC, поэтому у меня нет базы данных. Теперь я настроил все файлы классов и класс контекста. На следующем шаге я создал контроллер (Emplty) и хочу создать собственные функции Create/List/Delete. Как мне это сделать.Как создать собственный/настраиваемый контроллер в подходе Codefirst в структуре сущности

Некоторые из кодов ниже

 public class Employee 
      { 
       public int EmployeeID { get; set; } 
       public string Name { get; set; } 
       public int Age { get; set; } 

       public int DepartmentID { get; set; }//Foreign Key 

       public virtual ICollection<Enrollment> Enrollments { get; set; } 
      } 

     public class Department 
     { 
      public int DepartmentID { get; set; } 
      public string DepartmentName { get; set; } 

      public virtual ICollection<Enrollment> Enrollments { get; set; } 
     } 

    public class EmployeeDBContext: DbContext 
     { 
      public EmployeeDBContext() 
       : base("EmployeeDBContext")//EmployeeDBContext will be name of database. 
      { } 

      public virtual DbSet<Employee> Employees { get; set; } 
      public virtual DbSet<Department> Departments { get; set; } 
      public virtual DbSet<Enrollment> Enrollments { get; set; } 
     } 


public class EmployeeInitializer:DropCreateDatabaseIfModelChanges<EmployeeDBContext> 
    { 
     protected override void Seed(EmployeeDBContext context) 
     { 
      var employee = new List<Employee> 
      { 
       new Employee{EmployeeID=1, Name="Aman", Age=15, DepartmentID=11}, 
       new Employee {EmployeeID=2, Name="Supriya", Age=12, DepartmentID=22}, 
       new Employee {EmployeeID=3, Name="Rishabh", Age=10, DepartmentID=44} 
      }; 

      employee.ForEach(x => context.Employees.Add(x)); 
      context.SaveChanges(); 

      var department = new List<Department> { 
      new Department{DepartmentID=11, DepartmentName="IT"}, 
      new Department{DepartmentID=22, DepartmentName="HR"}, 
      new Department{DepartmentID=33, DepartmentName="Mechanical"}, 
      new Department{DepartmentID=44, DepartmentName="NGO"} 
      }; 

      department.ForEach(x=>context.Departments.Add(x)); 
      context.SaveChanges(); 

      var enrollment = new List<Enrollment>() { 
      new Enrollment{EnrollmentID=111, EmployeeID=1, DepartmentID=11}, 
      new Enrollment{EnrollmentID=222, EmployeeID=3, DepartmentID=44}, 
      new Enrollment{EnrollmentID=333, EmployeeID=2, DepartmentID=22} 
      }; 
      enrollment.ForEach(x=>context.Enrollments.Add(x)); 
      context.SaveChanges(); 

     } 
    } 

Я хотел бы добавить код снизу контроллера вперед

public ActionResult CreateEmployee(Employee employee) 
{ 

    //my desired code here 
    return View(); 
} 


[HttpGet] 
public ActionResult ListEmployee() 
{ 
//my desired code here 
    return View(); 
} 
+0

Поиск " Пример приложения MVC с EF "поможет вам быстрее ответить, а затем ждет здесь, чтобы получить готовое решение. –

ответ

0

вы имеете в виду, как сделать что-то вроде:

[HttpGet] 
    public ActionResult ListEmployee() 
    { 
    //my desired code here 
    using(var context=new EmployeeDBContext()) 
    { 
    return View(context. Employee.ToList()); 
    } 

    } 

[HttpPost] 
[Route("api/Employee/CreateEmployee")] 
public ActionResult CreateEmployee([FromBody]Employee employee) 
{ 
//add to ef 
_db.Add(employee); 
_db.SaveChanges(); 

    //my desired code here 
    return Ok(); 
} 
+0

Да. Как получить список сотрудников, как вставить для создания сотрудника? –

+0

надеюсь, что это поможет .. если да..отправить это plz :-) –