В своем ответе я предположил EntitityFramework (ObjectContext) сначала, но затем я также добавил код для DbContext .
Чтобы проверить приведенный ниже пример, вы можете использовать LinqPad и добавить свою DLL-библиотеку Entity Framework с помощью EntitityFramework (ObjectContext) через Добавить соединение. Указать соединение Свойства и закройте диалог подключения. Затем выберите соединение и запустите пример:
void Main()
{
var context=this; // requires that you selected an EF ObjectContext connection
var q=context.ExecuteStoreQuery<FTDocument>(
"SELECT * FROM FTDocument WHERE ID = @p0", 1);
q.ToList().Dump();
}
Он будет принимать все виды запросов SQL, и вы можете использовать такие параметры, как @p0
, @p1
и т. Д., И просто добавлять их через запятую при вызове функции ExecuteStoreQuery
. Результат будет возвращен как List<FTDocument>
. Чтобы преобразовать его в List<string>
, вам нужно указать, какое поле базы данных вы хотите вернуть - или вы создаете разделенный запятыми список значений полей в каждой строке, например:
q.Select(s=>s.ID+", "+s.GuidID+", "+s.DocType).ToList().Dump();
Тот же пример, но на этот раз с EntityFramework (DbContext) :
Добавьте свою библиотеку Entity Framework с помощью EntitityFramework (DbContext V4 / V5 / V6) через Добавить подключение. Укажите свойства подключения (не забудьте указать файл AppConfig) и закройте диалог подключения. Затем выберите соединение и запустите пример:
void Main()
{
var context=this; // requires that you selected an EF DBContext (V4/5/6) connection
var q=context.Database.SqlQuery<FTDocument>(
"SELECT * FROM FTDocument WHERE ID = @p0", 1);
q.ToList().Dump();
}
Совет: Прежде чем закрыть диалоговое окно подключения, нажмите Тест . Это избавит вас от головной боли позже, если вы знаете, что соединение успешно установлено. Для всех тех, кто хочет опробовать его в другом проекте EF с собственной базой данных, представляет собой краткое руководство по его созданию. Затем просто замените FTDocument
в приведенном выше примере на другую таблицу по вашему выбору (в строке SQL и внутри скобок <...>
, конечно).