0

Ruby on Rails 3 からの移行を行う ASP.NET MVC フレームワークに少し慣れていません。それは ActiveRecord です。MVC での dalAccess の場所を理解するのを手伝ってください。

[HttpGet]
    public ActionResult copyCampaign(int Id)
    {
        DALAccess dalaccess = new DALAccess();
        //string newid = dalaccess.CopyOffer(Id);
        string newid = dalaccess.CopyOfferByCampaignId(Id);

        string type = PrepareOffer4Edit(newid);
        if (type == "bundle")
            return RedirectToAction("bundleStep1");
        else if (type == "scratchOff")
            return RedirectToAction("scratchOffStep1");
        else
        {
            return RedirectToAction("CampaignMgmt", "CampaignMgmt");
        }
    }
4

2 に答える 2

0

s DAL (Data Access Layer) を持つ目的は、関心の分離の概念です。これは、Single Responsibility Principleにも当てはまります。

DAL を使用すると、データの取得元や変換方法を気にすることなく、ソースからデータ オブジェクトを取得できます。これにより、問題の特定に役立つデータ アクセス機能専用のテストを作成できます。

この分離は、同じデータを使用する別のアプリケーション (または 2 番目のフロント エンドとしましょう) を作成する必要がある場合にも役立ちます。

于 2012-10-30T17:42:29.307 に答える
0

場合によります。私はRubyの活動記録に詳しくないので、類似点をあげることはできません。

.Net では、データ アクセスは通常、アプリケーションの下位層です。これはさまざまですが、通常、アプリケーションが成長するにつれて、データ層がより分離されていることがわかります。小規模なアプリでは、これはあまり問題になりません。

現在、ORM はデータ アクセスの手段になっています。.NET には、Entity Framework (Microsoft) と nHibernate (オープン ソース) の 2 つの一般的な ORM があります。どちらにも利点があり、どちらも仕事を成し遂げることができ、どちらもまともなドキュメントを持っています. EF は、.Net とうまく連携するため、少し簡単に理解できます。nHibernate は、複雑さが増すにつれて、特に柔軟になります。nHibernate は、より優れた SQL を生成するようになりました。ただし、Microsoft は、EF の最新リリースで SQL 世代をクリーンアップするために多くの作業を行いました。

于 2012-10-30T17:48:48.127 に答える