Имея список <T>, как я могу получить другие поля из БД? - PullRequest
0 голосов
/ 03 августа 2009

У меня есть метод с именем GetOrders. Этот метод читает файл XML и собирает OrderNumber всех заказов, связанных с конкретным пользователем. Метод возвращает list<string>.

Теперь я хочу узнать, имея свой список, как я могу получить другие поля этих номеров заказов из БД?

Ответы [ 2 ]

3 голосов
/ 03 августа 2009

Если вы используете LINQ to SQL, это тривиально. Я предполагаю, что у вас уже есть таблицы, сгенерированные дизайнером, и ваш список (хотя, почему вы храните его в XML, любопытно, кажется более разумным также хранить его в базе данных).

 var orderNumbers = ... your list ...

 using (var dataContext = new OrdersDataContext()) // designer-generated context
 {
     var orderTitles = dataContext.Orders
                                  .Where( o => orderNumbers.Contains( o.OrderNumber ) )
                                  .Select( o => o.OrderTitle );

     ... now do something with the collection...
 }
1 голос
/ 03 августа 2009

GetOrders необходимо десериализовать Orders в Order объекты и вернуть их (не только номера заказов). Таким образом, List (тип возврата), который вы хотите вернуть GetOrders(), равен List<Order> .

например. List<Order> orders = GetOrders();

Затем вы можете перебирать ордера и получать другие поля, например ::

foreach(Order order in orders)
{
   string orderNumber = order.OrderNumber;
   Guid id = order.ID;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...