7

レガシーコードを使用せずに、新しいプロジェクトを開始する準備が整いました。過去にSubsonicを使用しましたが、かなり満足しています。しかし、それはLinqの前でした。

誰かがこれと同じ問題(Linq x Subsonic)に直面する必要がありましたか?

あなたの決断は何でしたか?理由は何でしたか?

どんな洞察もありがたいです。

4

8 に答える 8

11

サブソニック

長所:

  • 素敵でシンプル
  • 足場

短所:

  • メソッド シグネチャは、悪用される可能性のある文字列パラメーターを受け入れることがよくあります (ただし、DAO 文字列定数を使用することをお勧めします)。

次の点に注意してください。

  • コードなしで手動でモデルを生成するには、Web サイト プロジェクトが必要です (BuildProvider が必要です)。

Linq から SQL へ

長所:

  • IDE のシンタックス シュガー
  • MS 対応
  • IDE で実行する SQL を表示する
  • 自動生成から明示的な定義、オブジェクト プロパティまで、さまざまなレベルのモデル操作が可能です。

短所:

  • 複雑。効果を発揮するには、DataContext などの新しい概念を学ぶ必要があります。

次の点に注意してください。

ADO.NET Entity Frameworkhereも評価してください。

于 2008-10-30T15:06:24.020 に答える
3

私が LINQ で気に入っていることの 1 つは、SubSonic が適切に処理しているとは思わない点ですが、結合が自動的に処理されることです。

FROM a in db.Orders
where a.Total > 100
SELECT new {a.Item.Desc, a.Customer.Name};

このようなSQLを自動的に生成しますL

select i.DESC, c.NAME 
from  ORDERS o  
inner join ITEMS on o.ItemID = i.ItemID 
inner join CUSTOMERS c on o.CustomerID = c.CUSTOMERID 
where o.TOTAL > 100
于 2008-10-30T14:45:58.273 に答える
1

フレームワークに組み込まれているため、Linqを使用しました。Microsoftではサポートされないと言っている人のために...段階的に廃止されるのはLinqToSqlです。計画の1つは、それをEntityFrameworkに吸収することだと思います。

現在、EntityFrameworkを使用しています。また、linqを使用します。基本的には、linqToSqlとまったく同じですが、使用することを選択した場合は、柔軟性とパワーが向上します。

サードパーティのフレームワークやオームは、最終的には消滅するため、避ける傾向があります。彼らの人生は、どれだけの人がそれに興味を持って使っているかによって生まれるので、彼らは死ぬ可能性が高いと思います。彼らの人生はまた、その主な作者/寄稿者に大きく依存しています。

于 2008-11-06T00:48:29.203 に答える
1

私の経験は SubSonic が主でした。デプロイは非常に簡単で、DAL は 30 分以内に完了します。実用性を重視して設計されたスイス アーミー ナイフであることにご注意ください。基本的に、テーブルごとに生成されたクラスと、コレクションの遅延読み込みを実行する機能を取得します。フレームワークを介してストアド プロシージャを実行することもできるため、複雑なデータ構造がある場合は、データベースからそれらをフェッチして、手作りのクラスを更新できます。

現在、5 つの主要なプロジェクトで使用しており、すぐに依存するようになったことに感銘を受けています。

于 2008-11-06T00:40:06.427 に答える
1

NHibernate はどうですか?それは本当に新しいプロジェクトには当てはまらないのでしょうか? それでも、Java から来た人にはなじみがあり、.NET 2.0 や Mono でも使用できます。

于 2008-10-30T17:01:56.080 に答える
0

MS が LINQ to SQ L の開発を停止した場合に何が起こるかを調べる必要があるかもしれません。SubSonics の最新バージョンは、以前のバージョンよりもクエリを作成しやすく、読みやすくなっています。

于 2008-10-30T20:40:53.657 に答える
0

私も同じ状況でした。LinQ はより「視覚的」であり、vstudio 内ですべてを行います。Rob でさえ、サブソニックにはそれに匹敵するものがいくつかあることを認めています。

IEnumerable、LINQDatasource (自動ページング付き)、およびビジュアル モデリングにより、Subsonic ではなく Linq を選択することにしました。

于 2008-10-30T16:07:03.117 に答える
0

linq to sql の最大のリスクは、Microsoft がそれに飽きて放棄することです。これはすでに発生しており、エンティティ フレームワークのみが更新されるという憶測が多数あります。Subsonic はこの問題に悩まされることはありません。最悪の場合、ソース コードを編集する必要があります。

于 2008-10-30T15:42:30.030 に答える