星空网 > 软件开发 > ASP.net

扩展实体类的使用

 

需求:

扩展实体类的使用

上图中,如果我们想用实体类来实现的话,明显实现不了

原因很简单,要显示的数据包含的三张表(Student,Subject,Result)中的数据

我们无法单纯的用某个实体类来解决,这时我们就可以扩展实体类来解决这个问题

我们可添加ResultBusiness类继承Result实体类

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MySchool.Model{  //拓展类 继承Result实体类  public class ResultBusiness:Result  {    //多定义两个属性(达到目的)    //学生姓名    public string StudentName { get; set; }    //科目名    public string SubjectName { get; set; }  }}

这样我们就可以使用ResultBusiness类来实现目的

方法:

public List<ResultBusiness> ReviewStudentResult2(int subjectId, string name)   {     List<ResultBusiness> list = new List<ResultBusiness>();     // List<Result> list = new List<Result>();     //创建SQl     StringBuilder sb = new StringBuilder();     sb.Append("select * from Result,Student,Subject where Result.StudentNo=Student.studentNo and Subject.SubjectId=Result.SubjectId ");     if (subjectId != -1)     {       sb.Append("and Result.SubjectId=@SubjectId ");     }     if (!string.IsNullOrEmpty(name))     {       sb.Append("and Student.StudentName like + '%'+@Studentname+'%'");     }     SqlParameter[] para =     {       new SqlParameter("@SubjectId",subjectId),       new SqlParameter("@Studentname",name)     };     SqlConnection con = new SqlConnection(Constr);     SqlCommand cmd = new SqlCommand(sb.ToString(), con);     cmd.Parameters.AddRange(para);     con.Open();     SqlDataReader dr = cmd.ExecuteReader();     while (dr.Read())     {       ResultBusiness result = new ResultBusiness();       result.StudentName = dr["StudentName"].ToString();       result.SubjectName = dr["SubjectName"].ToString();       result.StudentNo = Convert.ToInt32(dr["StudentNo"].ToString());       result.StudentResult = Convert.ToInt32(dr["StudentResult"].ToString());       result.SubjectId = Convert.ToInt32(dr["SubjectId"].ToString());       result.ExamDate = Convert.ToDateTime(dr["ExamDate"].ToString());       list.Add(result);     }     con.Close();     dr.Close();     return list;   }

调用:

 public void Three()    {      string Name = txtName.Text;      int grade = Convert.ToInt32(cboGrade.SelectedValue);      List<ResultBusiness> list = resultbll.ReviewStudentResult2(grade, Name);      dgvResult.DataSource = list;    }

 




原标题:扩展实体类的使用

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

欧洲海派:https://www.goluckyvip.com/tag/39216.html
欧洲海派空派:https://www.goluckyvip.com/tag/39217.html
欧洲海派双清:https://www.goluckyvip.com/tag/39218.html
欧洲海派专线:https://www.goluckyvip.com/tag/39219.html
跨境风暴:https://www.goluckyvip.com/tag/3922.html
欧洲海外仓储:https://www.goluckyvip.com/tag/39220.html
天坛最佳攻略 天坛必玩景点:https://www.vstour.cn/a/408240.html
央视新址为什么会找回:https://www.vstour.cn/a/408241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流