如何解决C#和ASP.NET MVC:如何在另一个模型中填充数据对象模型
我有一个模型,可以处理要在ASP.NET MVC表单上显示的问题。我的Question
模型中的属性之一是项目的问题类型(QuestionType
);这是它自己的单独的模型类,但是我的问题是我无法从数据库中读取QuestionType
值,然后在我的QuestionType
模型类中更新Question
属性。
例如,我希望能够执行以下操作,但是我不知道如何正确填充QuestionType
:
string myQuestionTypeName = model.Question.QuestionType.Name;
Question
模型类:
public class Question
{
public int QuestionId { get; set; }
public string Name { get; set; }
public QuestionType QuestionType { get; set; }
}
QuestionType
模型类:
public class QuestionType
{
public int QuestionTypeId { get; set; }
public string Name { get; set; }
}
Question
数据-从我的Question
数据库表中提取。
我的存储过程返回:
- QuestionId
- 名称
- QuestionTypeId
代码:
public List<Question> PullList()
{
List<Question> questionList = new List<question>();
using (sql sql = new sql(sql.Connection.MyDbConnectionName,"storedProc_PullQuestions"))
{
using (var ds = sql.GetDataSet())
{
foreach (DaTarow dr in ds.Tables[0].Rows)
{
Question question = new Question();
question.QuestionId = dr.Field<int>("QuestionId");
question.Name = dr.Field<string>("Name");
question.QuestionType = //??? Not sure what to do here. I have the "QuestionTypeId" from the stored procedure,but not sure how to populate this object based on that id.
questionList.Add(question);
}
}
}
return questionList;
}
QuestionType
数据-从我的QuestionType
表中提取;我的存储过程返回:
- QuestionTypeId
- 名称
代码:
public List<QuestionType> PullList()
{
List<QuestionType> questionTypeList = new List<QuestionType>();
using (sql sql = new sql(sql.Connection.MyDbConnectionName,"storedProc_PullQuestionTypes"))
{
using (var ds = sql.GetDataSet())
{
foreach (DaTarow dr in ds.Tables[0].Rows)
{
QuestionType questionType = new QuestionType();
questionType.QuestionTypeId = dr.Field<int>("QuestionTypeId");
questionType.Name = dr.Field<string>("Name");
questionTypeList.Add(questionType);
}
}
}
return questionTypeList;
}
感谢您可以提供的帮助
解决方法
在存储过程的选择查询中,您必须将2个表连接起来
foreach (DataRow dr in ds.Tables[0].Rows)
{
Question question = new Question();
question.QuestionType = new QuestionType();
question.QuestionId = dr.Field<int>("QuestionId");
question.Name = dr.Field<string>("Name");
question.QuestionType.QuestionTypeId = dr.Field<int>"QuestionTypeId");
question.QuestionType.Name = dr.Field<string>("QuestionTypeName");
questionList.Add(question);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。