您需要创建一个视图模型并使用它。视图模型是特定于视图的简单 POCO 类。
public class CustomerInfo
{
public string Name {set;get;}
public string AddressLine {set;get;}
}
在您的 GET 操作中,您可以创建一个 this 对象,从 2 个表中读取数据并设置我们的视图模型的属性值并发送到视图
public ActionResult View(int id)
{
var vm = new CustomerInfo();
var db=new YourDbContext();
var customer=db.GetCustomer(id); // read from first table
var address=db.GetAddress(id); // read from second table
vm.Name = customer.FirstName;
vm.AdddressLine = address.AddressLine1;
return View(vm);
}
你的视图将被强类型化到这个视图模型
@model CustomerInfo
<h2>@Model.Name</h2>
<h3>@Model.AddressLine1</h3>
如果您尝试将此信息保存到 db 表中,您的视图中可能有一个表单
@model CustomerInfo
@using(Html.BeginForm("Edit","Home"))
{
<label>Name</label> @Html.TextBoxFor(f=>f.Name)
<label>Name</label> @Html.TextBoxFor(f=>f.AddressLine)
<input type="submit" />
}
在您的 HttpPost 操作中
[HttpPost]
public ActionResult Edit(CustomerInfo model)
{
// read the values from model and save to 2 tables
var c=new Customer { FirstName=model.Name};
var a=new Address{ AddressLine1=model.AddressLine};
var db=new YourDbContext();
db.Customers.Add(c);
db.Addresses.Add(a);
db.SaveChanges();
return RedirecToAction("Success");
}
如果你想保存一组物品,你可以参考this answer或this。