MVC -Как объединить две таблицы или модели, используя Linq ASP. NET MVC? - PullRequest
0 голосов
/ 20 марта 2020

Я работаю с asp. NET MVC. И я пытаюсь найти классы зарплаты сотрудников [как мы видим в oracle 12 c, используя схему Скотта]. Я создал 4 модели EMP, DEPT, Bonus и SalGrade (аналогично схеме Скотта в oracle 12 c) . Запрос для определения оценок в Oracle -12 c следующий.

SELECT s.grade, count(*), max(sal)
 FROM EMP e, SalGrade s
   WHERE e.sal BETWEEN s.LoSal AND s.HiSal
     GROUP BY s.grade;

Мне просто нужно преобразовать указанный выше запрос в ASP. NET MVC LINQ запрос.

Созданные мною модели следующие.

Модели Dept:

public class Department{
[Key]
public int Deptno { get; set; }
public string Dname { get; set; }
public string  Loc { get; set; }}

Модель EMP:

 public class Employee
{
    [Key]
    public int Empno { get; set; }
    public string  Ename { get; set; }
    public string Job { get; set; }
    public int Mgr { get; set; }
    public DateTime Hiredate { get; set; }
    public int Sal { get; set; }
    public int Comm { get; set; }
    public int Deptno { get; set; }
    public Department Department { get; set; }

}

Модель SalGrade

public class Salgrade
{
    [Key]
    public int Grade { get; set; }
    public int LoSal { get; set; }
    public int HiSal { get; set; }
}

1 Ответ

0 голосов
/ 20 марта 2020

В вашем методе класса контроллера у вас может быть такой код:

using(var db = new DepartmentEntities()){

    var query = from db.Employee, db.Salgrade
                where db.Employee.Sal between db.Salgrade.LoSal and db.Salgrade.HiSal
                group by db.Salgrade.Grade
                select new { db.Salgrade.Grade, count(*), max(db.Employee.Sal) };

    // Use query results in a foreach loop or whatever...
}   

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...