请原谅noob问题,因为我不熟悉将数据与我的应用程序集成.我试图在网上找到答案,但还没有.
我有一个应用程序,我在VS2010上用C#开发,需要从数据库输入/输出数据.我试图弄清楚它在设置数据源时是否需要使用它的DataSet或实体数据模型.我的理解是,EDM允许我将数据库中的表/字段视为对象,但不知何故,我看起来也可以使用DataSet.
一些消息来源解释了DataSet创建了数据库的缓存副本,然后可以对其进行操作.
基本上我的问题是我应该使用哪个以及哪个(dis)的优点是什么?
Ric*_*ner 11
在向/从数据库存储和检索数据时,您可以使用多个选项:
在过去的20多年里,在Windows上使用了几乎所有的DB API和ORM,我很高兴CF正在如何形成!几周前发布的EF 4.3包括对CF的一些重要的新改进,包括允许您随着其发展而处理对数据库模式的更改的迁移.在过去的几个月里,我使用EF CF构建了3-4个系统,我非常高兴 - 这是我目前最喜欢的关系数据库IO机制.
如果你想真正进入EF CF,我强烈推荐Julia Lerman的书EF CF - 它是一本简短,写得很好,非常有用的指南,你应该花费不到一两天的时间来完成主要部分.
希望这可以帮助.
如果将LocalDB数据源添加到项目中(因为您需要一个小的本地数据库文件),则在弹出"数据源配置向导"时,它会明确询问您是否要使用数据集或实体数据模型数据库模型.这是你面临的情况吗?这就是我带来的问题.
毫无疑问,对于企业级应用程序或网站,您可能想要调查ADO.NET或ORM,但它无助于回答这个问题,这与选择数据集与数据集之间的区别有什么关系向导中的实体数据模型.
实质上,实体数据模型是最新的技术.如果您不熟悉数据集,那么可能不是开始使用它的时候了.
如果您想知道 ADO.NET(数据集)与 EntityFramework(实体数据模型)的优缺点是什么,那么ADO.NET Entity Framework 或 ADO.NET上的讨论可能会有所帮助
EF 会让你很快地启动并运行,但根据我(非常有限的)经验,维护起来很痛苦。
是什么决定了你只有这两个选择?还有更多可用的东西,包括许多 ORM。