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 の使用を開始することもできます。ただし、商用 プロバイダーしか見つかりません。これは、 ADO.NET Entity Framework で Oracle を使用することに関する別の SO の質問です。

于 2010-09-27T18:28:18.453 に答える
0

サードパーティのツールにお金を費やす必要のない優れたソリューションを見つけました。データ アクセスに NHibernate を使用しています。LinqToSql DataContext オブジェクトに相当するのは NHibernate Session オブジェクトです。これにより、Oracle とのトランザクションで CRUD 操作を実行できます。ありがとう!

于 2010-10-08T21:00:21.863 に答える