0

我正在针对 Oracle 数据库实现 IRepository 接口。

public interface IDinnerRepository {

    IQueryable<Dinner> FindAllDinners();
    IQueryable<Dinner> FindByLocation(float latitude, float longitude);
    IQueryable<Dinner> FindUpcomingDinners();
    Dinner             GetDinner(int id);

    void Add(Dinner dinner);
    void Delete(Dinner dinner);

    void Save();
}

我应该如何实现 Save 方法?如果我使用的是 Linq2Sql,我会创建一个数据库上下文,然后在数据库上下文上调用 SubmitChanges。如何使用 Oracle 后端实现相同的功能?

    /// <summary>
    /// Database context
    /// </summary>
    private DBDataContext db = new DBDataContext();

    public void Save()
    {
        this.db.SubmitChanges();
    }

谢谢!

4

2 回答 2

0

如果您想为 Oracle 使用 LinqToSql 等效项,CodePlex 上有一个LinqToOracle 项目。它提供了OracleDataContext你需要的一切。但是,最近一次签到是从 2010 年 7 月 20 日开始的,所以那里没有太多事情要做。

您也可以开始使用设计为独立于平台的 LinqToEntities。但是,我只能找到一个商业 提供商。这是关于将 Oracle 与 ADO.NET 实体框架一起使用的另一个 SO 问题。

于 2010-09-27T18:28:18.453 回答
0

我找到了一个很好的解决方案,不需要我花钱购买 3rd 方工具。我正在使用 NHibernate 进行数据访问。LinqToSql DataContext 对象的等价物是 NHibernate Session 对象。这使我可以使用 Oracle 以事务方式执行 CRUD 操作。谢谢!

于 2010-10-08T21:00:21.863 回答