2009-09-25 3 views
0

В настоящее время у меня есть настройка репозитория, которая загружает формы, которые человек должен будет заполнить при доступе к действию контроллера просмотра ... так, как у меня есть настройка:asp.net mvc Реляционные данные, которые не передаются для просмотра

public ActionResult View(long id) 
    { 
     Patient patient = patientRepo.GetPatient(id); 
     if (patient == null) 
      return View("NotFound"); 
     var forms = formRepo.GetFormsForPatient(id); 
     return View(new PatientViewModel(patient, forms)); 
    } 

модели представления является:

public class PatientViewModel 
{ 
    //properties 
    public Patient Patient { get; set; } 
    public IQueryable<Form> Forms { get; set; } 
    //constructor 
    public PatientViewModel(Patient patient, IQueryable<Form> forms) 
    { 
     Patient = patient; 
     Forms = forms; 
    } 
} 

и, наконец, мой метод формы репо выглядит следующим образом:

public IQueryable<Form> GetFormsForPatient(long id) 
    { 
     List<Form> formsReturn = new List<Form>(); 
     var forms = from form in db.Forms 
        where form.PatientID == id 
        select form; 
     foreach (var form in forms) 
      formsReturn.Add(form); 
     return formsReturn.AsQueryable(); 
    } 

проблема заключается в том, что я пытаюсь пропустить свой объект формы и получить доступ к некоторым реляционным данным в таблицу форм (таблица форм содержит отношение между формой и пациентом, есть другая таблица, содержащая данные формы, которые необходимо загрузить). Я получаю нулевая ссылка при попытке сделать что-то вроде

<% foreach (var form in Model.Forms) 
     { %> 
     <p>Form: <%= Html.Encode(form.FormTextBank.FormName) %></p> 
     <p><%= form.FormTextBank.FormText %></p> 
    <% } %> 

Может ли кто-нибудь заметить что-то не так?

+0

Больше не актуально ... См. Ответ Джимми ниже. –

+0

Действительно, пожалуйста, закройте. – JoshJordan

+0

не может пометить как ответ в течение еще 21 часа – Jimmy

ответ

0

Нашли проблему ... Неправильно заполненная ID в таблице приводят ни к каким результатам

0

У вас есть возможность отключить отслеживание изменений в Linq-to-Sql? Я обнаружил, что реляционные данные не будут поступать автоматически, если это так.

http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.objecttrackingenabled.aspx

+0

нет, я не отключил отслеживание изменений – Jimmy

+0

загружает данные моего пациента, однако ... – Jimmy

0

Пациент с patientId равно к paramenter, имеет какой-либо форме?

Смежные вопросы