से एक viewmodel में डेटा से पॉप्युलेट करना मैं एक viewmodel जो दो मॉडल व्यक्ति और पते से डेटा की जरूरत है:MVC4 सी # डेटाबेस
मॉडल:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public int Gender { get; set; }
}
public class Address
{
public int Id { get; set; }
public string Street { get; set; }
public int Zip { get; set; }
public int PersonId {get; set; }
}
ViewModel ऐसे
public class PersonAddViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Street { get; set; }
}
के रूप में है
मैंने व्यूमोडेल में डेटा प्राप्त करने और इसे देखने के लिए कई तरीकों का प्रयास किया है। प्रदर्शित करने के लिए कई रिकॉर्ड लौटाए जाएंगे।
मेरे नवीनतम विधि जैसे दृश्य मॉडल को आबाद करने जाता है:
private AppContexts db = new AppContexts();
public ActionResult ListPeople()
{
var model = new PersonAddViewModel();
var people = db.Persons;
foreach(Person p in people)
{
Address address = db.Addresses.SingleOrDefault(a => a.PersonId == p.Id)
model.Id = p.Id;
model.Name = p.Name;
model.Street = address.Street;
}
return View(model.ToList());
}
मैं पता पता = db पर एक त्रुटि प्राप्त ... "EntityCommandExecutionException की लाइन उपयोगकर्ता कोड से बिना क्रिया था
कैसे। आप एक से अधिक रिकॉर्ड के साथ एक दृश्य के मॉडल को पॉप्युलेट और एक दृश्य के लिए पारित कर सकते हैं
अंतिम समाधान:
private AppContexts db = new AppContexts();
private AppContexts dbt = new AppContexts();
public ActionResult ListPeople()
{
List<PersonAddViewModel> list = new List<PersonAddViewModel>();
var people = db.Persons;
foreach(Person p in people)
{
PersonAddViewModel model = new PersonAddViewModel();
Address address = dbt.Addresses.SingleOrDefault(a => a.PersonId == p.Id)
model.Id = p.Id;
model.Name = p.Name;
model.Street = address.Street;
}
return View(list);
}
,210
क्या 'इस मामले में db' है? और अपवाद का संदेश क्या है? क्या आप एंटिटी फ्रेमवर्क या लिंककॉस्कल का उपयोग कर रहे हैं? जो भी 'db' डेटा को पुनर्प्राप्त करने के लिए कमांड को निष्पादित करने में परेशानी हो रही है, लेकिन अधिक जानकारी के बिना, यह कुछ भी हो सकता है। –
@ ब्रायन एस मैं इकाई ढांचे का उपयोग कर रहा हूँ। डीबी संदर्भ है। – Xaxum
आप नेविगेशन गुणों का उपयोग क्यों नहीं कर रहे हैं? – lahsrah