我在这里尝试做的是通过其id从我的数据库获取值并设置该值,以便我可以用来进行计算。所以我把id设置为1,我有钱,我想做一些像SELECT Balance FROM My_Table WHERE Id = 1;有没有办法只使用实体框架?
到目前为止,我所做的是。
在我的DbEntity Model类中。
public partial class CurrentAccount
{
public int Id { get; set; }
public decimal Balance { get; set; }
}
在我的控制器中。
public class YourAccountsController : Controller
{
// GET: YourAccount
public ActionResult CurrentAccount(CurrentAccount ca)
{
return View(ca.Balance);
}
}
我不太担心视图atm,因为我可以看到在我的本地人中为Balance分配了db值并且atm balance设置为0。
答案 0 :(得分:2)
如果使用Entity Framework更好。
你的行动
public ActionResult CurrentAccount(int Id)
{
var model = context.CurrentAccounts.FirstOrDefault(_ => _.Id == id);
return view(model);
}
并使用路由传递id参数,例如:localhost:5277/YourAccounts/CurrentAccount/1
答案 1 :(得分:1)
这是一个GET操作,所以理想情况下你应该将一些信息传递给这个方法(例如:一个唯一的id),并且有一些代码使用这个唯一的id来从数据存储(你的db表或web)获取数据因为您使用的是EF,所以您可以使用它来获取数据。
public ActionResult CurrentAccount(int Id)
{
var item= myDbContext.CurrentAccounts.FirstOrDefault(x=>x.Id);
if(item!=null)
{
return View(item.Balance);
}
return Content("Account not found"); // To do: May be return a view
}
假设myDbContext
是数据库上下文类的对象,CurrentAccounts
是DbSet集合(DbSet<CurrentAccount>
)属性,并且您的CurrentAccount视图强类型为十进制类型。< / p>
现在您使用帐户ID访问该网址。例如:yourSite/yourController/CurrentAccount/1