0

Привет всем & Заранее благодарим за любую помощь, которую вы можете предложить.MS Access и DataSets

Я разрабатываю приложение (WPF, MVVM, службы WCF, EF6 и MS SQL Exp DB), которое использует данные из другого проприетарного приложения, моя проблема в том, что другое приложение, с которым я работаю, использует MS Access DB, что означает, что мне нужно использовать альтернативу EF для моего уровня данных для доступа к другим данным приложений.

Это сказало, что я провел небольшое исследование и немного поиграл, и я уверен, что нахожусь на правильном пути, используя DataSets, DataTables & DataAdapters для уровня данных для MS Access DB. Из того, что я нашел своей неправдой, вернуть DataSet из службы WCF, поэтому в сервисе я планирую использовать что-то вроде этого, которое не возвращает сам набор данных;

[OperationContract] 
    public IEnumerable<Customer> GetEvents() 
    { 
     using (var context = new DataSet()) 
     { 
      var result = context.Customers.ToList(); 
      result.ForEach(e => context.Detach(e)); 
      return result; 
     } 
    } 

Теперь мой вопрос, если я использую EF она будет содержать все таблицы из БД, так что если я использую набор данных должен что набор данных все таблицы из БД, или я должен иметь динамический DataSet который содержит только таблицы & отношения для функциональности, с которой я работаю с IE, если это был экран мастер-файла клиента, который включает в себя исторические данные о продажах, у datast были бы таблицы Customer, Sales, Stock.

Как я уже сказал Спасибо за любую помощь.

ответ

0

Конечно, можно запросить MS Access с DataSets, но есть (ИМО лучше) альтернативы:

Я предпочитаю использовать микро-ОРМ, как Dapper, который просто отображает SQL запросов для .NET Pocos.

Here is a previous answer that I wrote to a similar question, с примером кода для запроса базы данных MS Access с помощью Dapper.

Для примеров и ссылок посетите Dapper's official site и переполнение стека tag wiki.