Как получить список результатов из списка значений идентификаторов с LINQ to SQL? - PullRequest
2 голосов
/ 29 апреля 2010

У меня есть список значений ID:

List<int> MyIDs { get; set; }

Я бы хотел передать этот список интерфейсу моего репозитория и вернуть ему список, соответствующий значениям идентификатора, которые я передаю.

List<MyType> myTypes = new List<MyType>();

IMyRepository myRepos = new SqlMyRepository();

myTypes = myRepos.GetMyTypes(this.MyIDs);

В настоящее время GetMyTypes () ведет себя подобно этому:

public MyType GetMyTypes(int id)
{
    return (from myType in db.MyTypes
            where myType.Id == id
            select new MyType
            {
                MyValue = myType.MyValue
            }).FirstOrDefault();
}

где я перебираю MyIDs, передаю каждый идентификатор и добавляю каждый результат в список.

Как мне нужно изменить LINQ, чтобы я мог передать полный список MyID и получить список MyTypes? GetMyTypes () будет иметь подпись, похожую на

public List<MyType> GetMyTypes(List<int> myIds)

Ответы [ 2 ]

2 голосов
/ 29 апреля 2010
public List<MyType> GetMyTypes(List<int> ids)
{
return (from myType in db.MyTypes
        where ids.Contains(myType.Id)
        select new MyType
        {
            MyValue = myType.MyValue
        }).ToList();
}
1 голос
/ 29 апреля 2010

Непроверенные

public List<MyType> GetMyTypes(List<int> myIds) {
  var x = from myType in db.MyTypes
          where myIds.contains(myType.Id)
          select new MyType {
            MyValue = mytype.Myvalue
          };
return x.ToList();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...