Asp.net mvc使用该特定行的

时间:2017-01-09 15:41:02

标签: asp.net-mvc

嗨,谢谢你花时间阅读。我在使用实体框架为特定行调用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之间也存在关系。谢谢:))

2 个答案:

答案 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);

希望你能得到解决方案。