Здравствуйте, я немного озадачен тем, как я могу получить один «Проект» из таблицы в одном элементе вместо коллекции ...
Это моя модель представления:
public class ProjectViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged = delegate { };
private int _loadedProjectId;
public int LoadedProjectId
{
get
{
return _loadedProjectId;
}
set
{
if (value != _loadedProjectId)
{
_loadedProjectId = value;
_Context.Load(_Context.GetProjectFromIdQuery(_loadedProjectId));
PropertyChanged(this, new PropertyChangedEventArgs("LoadedProjectId"));
}
}
}
public Project loadedProject { get; set; }
public IEnumerable<Project> Projects { get; set; }
private myDomainContext _Context = new myDomainContext();
public ProjectViewModel()
{
Projects = _Context.Projects;
if (!DesignerProperties.IsInDesignTool)
{
_Context.Load(_Context.GetProjectsQuery());
}
}
}
Проблема здесь
_Context.Load(_Context.GetProjectFromIdQuery(_loadedProjectId));
, так как я не хочу загружать это в моем контексте, но я хотел бы сделать что-то вроде этого: (но, очевидно, я не могу)
loadedProject = _Context.GetProjectFromIdQuery(_loadedProjectId);
Вот запросы в моей доменной службе:
public IQueryable<Project> GetProjects()
{
return this.ObjectContext.Projects;
}
public Project GetProjectFromId(int id)
{
return this.ObjectContext.Projects.SingleOrDefault(t => t.Id == id);
}
Так я делаю это неправильно?Должен ли я просто искать проект в коллекции проектов, которые у меня уже есть?
tx, чтобы пролить свет на это!