string query =
"SELECT * FROM table1, table2 WHERE table1.Id = table2.fId";
...
using(IDataReader dataReader =
db.ExecuteReader(CommandType.Text, query))
..
string value = dataReader["table2.field"]; //dies
В настоящее время я пишу некоторый код .NET, который включает в себя выполнение запроса объединения, а затем доступ к возвращенным данным с помощью DataReader. Мне интересно, можно ли получить доступ к полям из возвращаемых строк с помощью какой-либо префиксной нотации (см. Пример выше) вместо того, чтобы использовать порядковое положение для доступа к значению в строке (в случае, когда обе таблицы содержат перекрывающееся поле имена)?.NET DataReader и SQL-соединения
Потому что * лучше, чем «table2.field как field2, ...» ^^ – 2009-06-02 16:52:02
«Никер» в том смысле, что он вытащит данные, которые вам не нужны, «лучше» в том смысле, что вы выиграли «Не знаете, что нужный столбец не существует, пока вы не попытаетесь ссылаться на него, или« лучше »на то, что инженер-технолог не будет знать, какие данные сбрасываются без проверки схемы? :) Я предпочитаю явные запросы для кода без выброса. –
Выберите * - очень плохая техника, которую вы когда-либо использовали. – HLGEM