質問

私たちが発展していくために再構築インテルのサイトのいずれかです。います。を読んで多くの論文かという分離弊社のプロジェクトへのデータにアクセス層(DAL)、ビジネスロジック層(BLL)、プレゼンテーション層をしっからのクラシックASPという巨大なステップがあります。私も好きでLinq to SQL.

以降の商品を迅速に開発でも可能でLinq to SQLついてのダル,BLL、プレゼンテーション層?とLinq to SQLのダルを返し主体のlinqコードが変更されることがありますのBLL?との関係をDAL、BLLとLinq to SQLくようなファジィで話題とな合意は、このような大きな飛びだしたいと思っていいゲームプランの前にダイビングにあります。

入力データセットのようであ備のためのこだまうとLinqなったと思いる。

んな場所には近づかないでください設定によりどちらのモびその他の第3者が書けます。

役に立ちましたか?

解決

私たちは、あなたが説明したまさに構築している、と我々はそれを行うにはL2Sを使用しています。 DALとBLLとの間の関係は少しあいまいですが、我々は明確なBLLと明確なDALを持っていることに合意しました。すべての私たちの論理がBLLであり、すべてのデータの検索/変更が(LINQ呼び出しを使用して)DALへの呼び出しを介して行われます。

私たちのアプリは何の型付きデータセットを使用していません。私たちは、オブジェクトを表すエンティティクラスを構築しました。今、私はこれの一部を構築する数ヶ月費やしてきたことを、私が今までのデータセットに戻って私たち(私を)見ない。

また、私はL2Sは、「急速な発展を目的とした」さの上にハングアップを取得しないでしょう。これは、プロトタイピングツールのような音になります。私たちは、工業用強度のツールであることがそれを見つけています。これは、彼らがかなりの人がEFを使用するため、Microsoftは今、それについて言うかもしれないものに反している可能性があります。

ランディ

他のヒント

一歩下がって要件をもう一度検討することをお勧めします。

実際の 3 層 (異なるマシンへの物理的なデプロイメント) が必要ですか、それともアプリケーションの論理的なパーティション分割だけが必要ですか?

私は、初めて書いた大きなアプリケーションでまさにこの間違いを犯しました。私は物理的な 3 層を必要としたことはありませんでした (そして今後も必要になることはありません) が、そのようにアプリケーションを設計しました。最も顕著な結果は、Linq2Sql がサポートしていないということでした。 切断された変更追跡 エンティティについて。私が使用した Linq2Sql エンティティ ベース この制限を回避するには、ただし、永続性無視の概念に大きく違反します (後でよくわかるのですよね?)。

実際の n 層化は、アプリケーション アーキテクチャに他にも多くの影響を及ぼします.

メッセージパッシング、データ転送オブジェクトなどが必要になります。Linq2SQL は適切な ORM であり、LINQ との緊密な統合により独自の可能性が提供されます。他の ORM がここに追いつくにはまだ時間がかかるでしょう。Hibernate 3.0 は、このトンネルの終わりにある光です。シンプルなデータ モデルがあり、「テーブルごとのクラス」方式でマップできる場合、Linq2SQL は優れた ORM です。

切断された変更追跡 (n 層に移行する場合に必要になります) については、他の ORM のサポートが優れています。

そして最後に:

(私たちは古典的なASPから来ているので、これは私たちにとって大きな一歩です)

このような状況では、私は特に注意します。スイッチング テクノロジーは過小評価されがちです。チームの中で最も賢いプログラマーであっても、テクノロジーに関する経験が不足しているため、誤った決定を下してしまうことがあります。それにもかかわらず、新しい道を歩み、スキルセットを向上させることが重要です。決して失敗しない人は決して成功しません。

いL2S のダル.L2S+ビジネスロジック特別授業が合併ダル+BLL、ダル側のL2S runtimeのL2S生成コード(datacontext、entityの授業です。

ことができ簡単にしておくこともできるようにL2S生成部は、何らかの拡張を主体とdatacontextは別のDLL、および追加のビジネスロジックが別dll/サービスすることになりました。しかし多くの場合はありませんが必要で扱われるようになります。

一つの理由を個別にダル+BLL利用の場合L2Sする場合を想定している移動になります他のデータにアクセス技術は、場合によって使用できる以上のデータにアクセス技術です。を別途ダルとL2S特有のものを別にする必要がありスイッチのダル.したい場合は別途ダル+BLLそのため、L2SダルDLLはな主体の授業は、派生の授業や授業方法に関やコレクションリスト等、さま、ありがとうございましたのDataContext内にダルクラスを避けるためL2S特有のもの(L2Sクエリーなど)へのBLL.

JMHO.


以来、その他の記L2Sツールがここにある完全な概要の何が出るかもコメントありがとうございます http://www.thinqlinq.com/post.aspx/title/linq-tools

私見では、LINQ to SQLは、現在入手可能な最良の選択です。それは本当にデータ無痛とほとんど楽しいと協力します。 :-)あなたはSQLにLINQに興味があるなら、私はGoogleの PLINQO のプロジェクトを見てみましょうと思います。それは、より良い全体的なソリューションにするためにSQLにLINQにいくつかの素晴らしい機能強化があります。

私は、LINQ DALとBLLの概念はもはや意味があると考えていません。だから私は、LINQクラスを配置し、 コード(親)フォルダの下の[ドメイン]フォルダの下にいくつかのゲッター&セッター。それから私は、「リポジトリ」クラスと「FontEnd」クラスを作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top