繁体   English   中英

使用数据集对数据库执行操作而不进行缓存

[英]Perform operations on a database using a DataSet without caching

如果这将是一个不好的问题,我感到非常抱歉。 我很少做数据库编程。 这可能是时候从头开始研究它,我可能会在某个时候做,但是我现在迫切需要时间。

有没有一种方法可以对Oracle数据库执行类似DataSet的操作,例如插入,删除等,而无需缓存数据库的大部分内容? 我正在寻找某种方法来避免对具有任意字段/列的对象键入笨拙的SQL查询。 我可以在其中定义一个DataRow并将其插入(或根据某些键进行更新)。 我看不到如何通过缓存执行此操作,因为我无法缓存整个数据库。 很大

因为实体在很大程度上是任意的,所以我不想定义静态类来包装它们。

我不确定我是否完全理解您的问题。 您可以创建一个使用方法执行Upsert的类。 该方法将收到一个DataRow,您可以在该方法中设置规则,以根据数据行中的值插入或更新数据库。 但是您必须编写自己的SQL查询才能插入或检查记录是否存在于数据库中,然后进行更新。

为什么不使用ORM。 像Entity frameowkrk,NHibernate之类的东西

  1. 实体框架
  2. NHibernate

您无需编写任何SQL查询,并且可以自定义选项以启用LazzyLoading

如果使用类型化的DataSet则可以为Fill方法提供参数。 使它们仅用必要的行填充DataTable

如果使用的是DataReader ,则可以在查询字符串中提供任何类型的查询。

基本上,您可以仅“缓存”要更改的行。

很难说出您的真正需求...

但是您可以查询Oracle数据字典视图以获取元数据,然后根据这些结果动态构建SQl语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM