嗨,谢谢你花时间阅读。我在使用实体框架为特定行调用db时遇到问题。这是我的控制器代码。
public ActionResult MyAccount(CurrentAccount ca, SaverAccount sa, int id)
{
var model = db.CurrentAccounts.FirstOrDefault(_ => _.Id == id);
Session["Id"] = ca.Id;
Session["CurrentAccountNumber"] = ca.CurrentAccountNumber;
Session["CurrentBalance"] = ca.CurrentBalance;
Session["SaverAccountNumber"] = sa.SaverAccountNumber;
Session["CurrentBalance"] = sa.SaverAccountNumber;
return View(model);
}
我的模型是一个edmx实体文件,我似乎可以检索一些数据到我的本地,但只有1个表,我需要数据来自多个表选择一个完整的数据行的特定ID然后有这个信息可见在同一个观点上。两个表上的id之间也存在关系。谢谢:))
答案 0 :(得分:1)
这里你调用了错误的对象,因为你在模型变量中提取数据但是从ca调用。请使用以下
public ActionResult MyAccount(CurrentAccount ca, SaverAccount sa, int id)
{
var model = db.CurrentAccounts.FirstOrDefault(_ => _.Id == id);
Session["Id"] = model.Id;
Session["CurrentAccountNumber"] = model.CurrentAccountNumber;
Session["CurrentBalance"] = model.CurrentBalance;
Session["SaverAccountNumber"] = sa.SaverAccountNumber;
Session["CurrentBalance"] = sa.SaverAccountNumber;
return View(model);
}
答案 1 :(得分:0)
您需要执行连接查询以从两个模型中获取数据,例如以下示例
创建一个像下面这样的公共类
public class datafrombothclass
{
public int Id { get; set; }
public String saveaccount_name { get; set; }
public String currrentaccount_name { get; set; }
}
现在在实体框架中使用连接查询从CurrentAccount和SaverAccount获取两种模型的数据。 请参阅下面的代码示例:
var frombothclass=(from a in Model.saveaccount join s in Model.currentaccountaccount
where a.Id=id
select new datafrombothclass{
Id=a.Id,
saveaccount_name=s.name,
currrentaccount_name=a.name
});
return View(frombothclass);
希望你能得到解决方案。