2017-02-16 2 views
0

J'essaie de créer un exemple d'application en utilisant l'approche du code dans MVC, donc je n'ai pas de base de données. Maintenant, j'ai configuré tous les fichiers de classe et la classe de contexte. Dans l'étape suivante, j'ai créé un contrôleur (Emplty) et je souhaite créer mes propres fonctionnalités Create/List/Delete. Comment puis-je le faire.Comment créer un contrôleur propre/personnalisé dans l'approche Codefirst dans entity framework

Certains codes sont ci-dessous

 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(); 

     } 
    } 

Je souhaite ajouter du code en bas contrôleur en avant

public ActionResult CreateEmployee(Employee employee) 
{ 

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


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

Recherche de " Exemple d'application MVC avec EF "vous obtiendrez une réponse plus rapide, puis attendre ici pour obtenir une solution prête ici. –

Répondre

0

vous dire comment faire quelque chose comme:

[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

Oui. Comme obtenir la liste des employés comment insérer pour créer un employé? –

+0

espérons que cela aide .. si oui..écrire plz :-) –