Вот моя модельEntity Framework `не LoadWith` вернуть данные
public IEnumerable<PostJob> GetAllJobsByUserId(int id)
{
using (var context = new CleanerDataContext(@"Data Source=.\sqlexpress;Initial Catalog='Cleaning Lady';Integrated Security=True"))
{
var loadOptions = new DataLoadOptions();
loadOptions.LoadWith<PostJob>(c => c.Cleaner);
loadOptions.LoadWith<PostJob>(c => c.User);
context.LoadOptions = loadOptions;
return context.PostJobs.Where(r => r.userId == id).ToList();
}
}
На мой взгляд, я пытаюсь доступ к свойствам в«чистых»
@foreach (var k in Model.AllJobs)
{
<div class="panel panel-default instructions">
<div class="panel-body">
<span>Date: @k.date.ToShortDateString() From: @k.timeFrom Until: @k.timeUntil</span>
<span>Price: @k.Cleaner.Price</span>
<span>Total: </span>
</div>
</div>
<br />
}
Но я получаю сообщение об ошибке
Ссылка на объект не установлена в экземпляр объекта.
Почему я получаю эту ошибку, если загружаю «Очиститель» вместе с «PostJob»?
Вот postjob в базе данных
У вас есть свойства навигации, определенные для Cleaner и User? Почему вы включаете пользователя? ваше мнение, которое вы опубликовали, не использует никаких свойств пользователя. Include будет включать весь другой объект в запрос linq. вы используете только 1 свойство. было бы лучше определить модель представления и заполнить ее из вашего контекста и вернуть модель представления в представление. – Fran
Я тоже собирался использовать User. Я не могу заполнить его b4, потому что это список. Как я могу сопоставить каждого чистящего средства с каждым чистильщиком? – Newbie
https://msdn.microsoft.com/en-us/library/jj713564(v=vs.113).aspx – Fran