我正在从存储过程中填充多个结果集。我在实体框架5.0中使用数据库第一种方法。我只选择存储过程中的某些必需列。我得到他的错误:数据读取器与指定的'TestDbModel.Emp'不兼容。类型为“Eid”的成员在数据读取器中没有相应的列具有相同的名称。
存储过程
createprocedure [dbo]。[selectdata]从emp select中选择EmpName StudName,StudId来自学生
我的MVC代码获取数据
using(var db = new TestDbEntities() )
{
db.Database.Initialize(force: false);
var cmd = db.Database.Connection.CreateCommand();
cmd.CommandText = "dbo.selectdata";
try
{
db.Database.Connection.Open();
var reader = cmd.ExecuteReader();
var emp = ((IObjectContextAdapter)db).
ObjectContext
.Translate<Emp>(reader, "Emps", MergeOption.AppendOnly);
foreach (var item in emp)
{
string ename = item.EmpName;
}
reader.NextResult();
var students = ((IObjectContextAdapter)db)
.ObjectContext
.Translate<Student>(reader, "Students", MergeOption.AppendOnly);
foreach (var item in students)
{
string studentname = item.StudName;
}
}
我可以在阅读器中填充数据。