【问题标题】:MS Access and DataSetsMS Access 和数据集
【发布时间】:2014-01-21 05:41:10
【问题描述】:

大家好,提前感谢您提供的任何帮助。

我正在开发一个使用来自另一个专有应用程序的数据的应用程序(WPF、MVVM、WCF 服务、EF6 和一个 MS SQL Exp DB),我的问题是我正在使用的另一个应用程序使用 MS Access DB这意味着我需要为我的数据层使用 EF 的替代方案来访问其他应用程序数据。

也就是说,我已经进行了一些研究并进行了一些尝试,并且我很确定我在为 MS Access DB 的数据层使用 DataSets、DataTables 和 DataAdapters 时处于正确的轨道上。从我发现从 WCF 服务返回 DataSet 的做法不是很好,所以在服务中我计划使用类似这样的东西,它不会返回数据集本身;

[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,该数据集应该包含数据库中的所有表,还是应该有一个动态 DataSet,只包含我正在使用 IE 的功能的表和关系,如果它是一个包含历史销售数据的客户主文件屏幕,那么数据将包含 Customer、Sales、Stock 表。

正如我所说,感谢您的帮助。

【问题讨论】:

    标签: wpf wcf ms-access entity-framework-6 strongly-typed-dataset


    【解决方案1】:

    当然可以使用 DataSet 查询 MS Access,但有 (IMO 更好) 替代方案:

    我更喜欢使用像 Dapper 这样的微 ORM,它只是将 SQL 查询映射到 .NET POCO。

    Here is a previous answer that I wrote to a similar question,带有使用 Dapper 查询 MS Access 数据库的示例代码。

    有关示例和链接,请访问 Dapper 的 official site 和 Stack Overflow tag wiki

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多