Я новичок в использовании Linq и только начал сторонний проект, чтобы изучить некоторые основы. В настоящее время я использую Linq to Sql, и все мои отношения с таблицей БД работали очень хорошо. В настоящее время у меня есть таблица клиента и таблица проекта. Каждый клиент может иметь 1 или более проектов. Поэтому, как и следовало ожидать, каждый объект Client имеет коллекцию объектов Project после того, как Linq сделает свое дело.
Я использую приведенный ниже код, и он хорошо работает, но я думаю, что есть лучший способ сделать это. Мне нужно передать моему методу ProjectID, а затем выбрать этот проект на клиенте:
private void PopulateStatusView(int projectID)
{
MyDataContext db = new MyDataContext();
var client = (from u in db.Clients
where u.id == Convert.ToInt32(Session["ClientID"])
select u).SingleOrDefault();
if (client != null)
{
foreach (Project currentProject in client.Projects)
{
if (currentProject.id == projectID)
{
// Project Selected Here
statusProjectName.Text = currentProject.name;
}
}
}
else
{
// Session Expired
}
}
Может кто-нибудь дать мне знать, если есть лучшее решение, чем циклы по каждому проекту.
Спасибо.