【发布时间】:2019-09-19 17:14:27
【问题描述】:
我有学生和成绩表,有一对多的关系
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();
}
我想在浏览器中显示与年级 ID 对应的年级名称,但我不希望它存储在数据库表中。如何获得对年级名称的访问权限?
【问题讨论】:
-
首先:加入时必须使用
equals,而不是==。第二:为什么只选择它会被存储? -
感谢使用
equals而不是==的建议,但我不明白你为什么选择它会被存储,我不想将它存储在我的数据库中,我只想显示等级名称而不是等级ID -
我只是说:它不会存储在您的数据库中。你是从哪里得到这个想法的?
标签: c# asp.net-mvc linq entity-framework-6