【问题标题】:What do I need to access my own Database?我需要什么才能访问我自己的数据库?
【发布时间】:2010-12-27 13:28:32
【问题描述】:

我需要为一些 .net 应用程序编写一个专门的嵌入式数据库。数据库部分本身没有问题(如前所述,它是专门的),但从我的 .net 代码访问它是。

我正在考虑使用 LINQ 作为唯一的数据访问(所以没有 ADO.net,这对于该场景来说很好),但我从来没有这样做过,我想知道我真正需要实现什么?

我需要 IQueryable 吗?我需要实现一组标准方法/接口吗?是否有写入数据的标准,还是我需要为它创建自己的语义?

【问题讨论】:

  • 您是否有索引或查询计划或其他可以从 IQueryable 中获得好处的东西?
  • @SLaks 不,这很简单“SELECT field1,field2,tf3 from table1 join table2 on table2.fid = table1.id where table1.field3 = 1 order by table2.field4”类型的东西(除了它不是 SQL)

标签: c# .net linq iqueryable


【解决方案1】:

我需要 IQueryable 吗?

是的,这是 LINQ 连接的地方。

有没有写数据的标准 还是我需要创建自己的 它的语义?

你自己的。 OTOH 这通常是更容易的部分 - 当您更新一行时,您通常会执行 JOIN 或其他操作。

这些天我个人经常使用 BLToolkit(需要一些快速和轻量级的东西)。他们有一个 SqlQuery 对象,可以将类操作到表中。对于大多数直接的数据库操作来说已经足够了(而且我不使用更改跟踪 - 我的大多数对象从不更改,但在数据库中进行了版本控制)。

LINQ 提供程序相当复杂。就像编写执行引擎一样。你确定要走那条路吗?

【讨论】:

    【解决方案2】:

    编写自己的 linq 提供程序非常困难 - 我前段时间研究过它并感到气馁……但仍然可以这样做。

    查看答案here - 链接到几个教程。

    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 2016-02-13
      • 2020-08-30
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多