微软Access和DataSet
问题描述:
大家好&在此先感谢您提供的任何帮助。我正在开发一个应用程序(WPF,MVVM,WCF服务,EF6和MS SQL Exp数据库),使用来自另一个专有应用程序的数据,我的问题是,我正在使用的其他应用程序使用MS Access DB这意味着我需要使用EF的替代品来访问我的数据层以访问其他应用程序数据。微软Access和DataSet
这就是说我已经做了一些研究,并且有一点戏剧性,并且非常确定我正在使用DataSets,DataTables DataView作为MS Access数据层的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所以如果我使用的数据集应该是数据集中保存从数据库中的所有表将包含从数据库中的所有表,或者我应该有一个动态的数据集如果它是包含客户,销售,库存表的历史销售数据的客户主文件屏幕,那么它只保存表格&与我正在使用IE的功能的关系。
正如我所说,感谢您的任何帮助。
答
当然这是可以查询的MS Access与数据集,但也有(IMO更好)选择:
我更喜欢使用微ORM像Dapper,这只是SQL查询映射到.NET波苏斯。
Here is a previous answer that I wrote to a similar question,带有用Dapper查询MS Access数据库的示例代码。
有关示例和链接,请访问Dapper的official site和堆栈溢出tag wiki。