Как получить доступ к другим свойствам таблицы, используя свойства EF nav - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть таблица ученика и класса с отношениями один ко многим

Student
======
stud_id (pk)
stud_name
grade_id(fk)

Grade
=====
grade_id
grade_name

Мои классы моделей / сущностей следующие:

Student
======
public int stud_id {get; set;}
public string stud_name {get; set;}
public int grade_id(fk) {get; set;}
public Grade grade {get; set;}

Grade
=====
public int grade_id {get; set;}
public string grade_name {get; set;}
public ICollection<Student> students {get; set;}

У меня есть класс DOT для работы сLINQ запрашивает

StudentDomain
============
public int stud_id {get; set;}
public string stud_name {get; set;}
public int grade_id(fk) {get; set;}
public Grade grade {get; set;}

в моем классе DataAccessRepository, у меня есть метод

public IEnumerable<StudentDomain> GetStudent(int stud_id)
{
var result=  from st in db.Student
         join gr in db.Grade on st.grade_id==gr.grade_id
        select new StudentDomain
           {
              stud_id= st.stud_id,
              stud_name= st.stud_name,
               grade_id= gr.grade_id
                //here I want to add grade name just to display for the 
user but not to store in the database table
           }
return result.ToList();

}

Я хочу отобразить эквивалентное имя оценки идентификатора оценки в моем браузере, но я нехотите, чтобы он хранился внутри таблицы базы данных.Как я могу получить доступ к названию класса?

1 Ответ

1 голос
/ 19 сентября 2019

я думаю, что у вас неправильное понимание запроса linq, вы не должны хранить что-либо по запросу linq, просто поместите свойство gradename в ваш класс StudentDomain, как показано ниже

StudentDomain
============
public int stud_id {get; set;}
public string stud_name {get; set;}
public int grade_id(fk) {get; set;}
public int grade_name {get; set;}

и заполните его следующим образом

public IEnumerable<StudentDomain> GetStudent(int stud_id)
{
var result=  from st in db.Student
         join gr in db.Grade on st.grade_id==gr.grade_id
        select new StudentDomain
           {
              stud_id= st.stud_id,
              stud_name= st.stud_name,
               grade_id= gr.grade_id
               grade_name=gr.grade_name
           }
return result.ToList();

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