У меня возникли проблемы с доступом к значениям внешнего ключа в моем представлении без использования частичного.Как получить доступ к значениям внешнего ключа в представлении MVC?
У меня есть tblProperty как Primary_Key и tblCustomer как foreign_key. Я хочу получить доступ к значениям моих внешних ключей в моем представлении, но не могу понять, почему.
Модель
public partial class tblProperty
{
public tblProperty()
{
this.Images = new HashSet<Image>();
this.tblCustomers = new HashSet<tblCustomer>();
}
public int propertyID { get; set; }
public string address { get; set; }
public string description { get; set; }
public virtual ICollection<Image> Images { get; set; }
public virtual ICollection<tblCustomer> tblCustomers { get; set; }
}
public partial class tblCustomer
{
public int customerID { get; set; }
public string name { get; set; }
public decimal contactNumber { get; set; }
public string notes { get; set; }
public Nullable<int> propertyID { get; set; }
public virtual tblProperty tblProperty { get; set; }
}
Контроллер
public class propertyController : Controller
{
propertyDBEntities2 dc = new propertyDBEntities2();
public ActionResult List()
{
var properties = dc.tblProperties.Include(p => p.tblCustomers);
return View(properties.ToList());
}
public ActionResult Details(int id = 0)
{
var properties = dc.tblProperties.Include(p => p.tblCustomers);
tblProperty property = dc.tblProperties.Find(id);
tblCustomer customer = dc.tblCustomers.Find(id);
if (properties == null)
{
return HttpNotFound();
}
return View(dc.tblProperties.Find(id));
}
public ActionResult Create()
{
return View();
}
[HttpPost, ValidateAntiForgeryToken]
public ActionResult Create(tblProperty e)
{
if (ModelState.IsValid)
{
using (dc)
{
dc.tblProperties.Add(e);
dc.SaveChanges();
}
}
return RedirectToAction("List");
}
вид
(как model.name пытается получить доступ к имени из tblCustomer)
@model myProject.tblProperty
@Html.DisplayFor(model => model.name)
В чем проблема? Intellisense расскажет вам, какие у вас свойства. –
Его дает мне ошибку в моем представлении, когда я использую @ Html.DisplayFor (model => model.name) – theone