問題タブ [subsonic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - ORMベースのプロジェクトでのクラスの使用
この質問は、NHibernate、Subsonic、Linq2SQLなどのORMを使用するプロジェクトでの「最適な使用」シナリオに関するものです。
これらのツールはすべて、基本的なエンティティクラスを生成します。属性があるものとないものがあります。人々はこれらのクラスをビジネスクラスとして使用していますか?または、ORMで生成されたクラスから手動で作成されたビジネスクラスへのデータの大規模なコピーはありますか?
ありがとう。
subsonic - 依存関係がないため、SubSonic の「バージョン」が失敗します
SubSonic 2.1 Final を使用していますが、SubCommander で「バージョン」を実行すると問題が発生します。この問題は、ローカル マシンに SQL Server 2008 をインストールし、2005 を削除したときに発生したと思います。
これは私が得るエラーです:
誰でもこれを機能させる方法を知っていますか?
variables - キャプチャされた変数を持つラムダ
次のコード行を検討してください。
したがって、実際の数値をラムダ関数にハードワイヤすると、正常に機能します。キャプチャされた変数を式に使用すると、次のエラーが返されます。
オブジェクト タイプ ReportBuilder.Reporter+<>c__DisplayClass0 から既知のマネージ プロバイダ ネイティブ タイプへのマッピングは存在しません。
なんで?どうすれば修正できますか?
subsonic - 亜音速からデータ ソースに問い合わせる方法を増やす方法
以下のリンクでは、Linq-To-Sql はさまざまな実世界のニーズ (最近のトピックなど) に基づいてデータを取得するためのさまざまなメソッドを生成します。
Subsonic に、このような方法で問い合わせを行い、データ ソースからデータを返す一連のクラスを生成させるにはどうすればよいでしょうか? CRUD操作を実際に提示するクラスを取得します。
ありがとう
subsonic - SubSonic 3 に新しいレコード パターンを挿入する
新しい SubSonic 3 プレビューを試していますが、MVC プロジェクトで基本的な CRUD 操作に使用すべきパターンがよくわかりません。
モデルにできるだけ多くのデータ ロジックを保持しようとしているので、各モデルの部分クラスにいくつかの静的 CRUD メソッドを追加しました。
たとえば、単一のレコードのみを持つ構成テーブルがあるとします。したがって、私の部分クラスは次のようになります。
現在、構成テーブルには主キーの ID 列があり、テーブルに新しいレコードを追加すると、標準の「ID 列に明示的な値を挿入できません」というエラーがスローされるため、これは機能しません。SubSonic 3 は、それらを新規作成したときに、データベース スキーマの規則にうまく対応するクラスを生成しないようです (つまり、デフォルト値がない、データベースで null 可能な値に対して null 可能なプリミティブがないなど)。
現在、テーブルとパターンを変更してこれらの問題を回避できますが、この問題を回避できない場合、つまりデータベースに新しいレコードを追加し、ID を主キーとして持つ必要がある場合について考えています。
このパターンが正しいかどうかも疑問です。SubSonic では、リポジトリ ビジネスを行うためのさまざまな方法が提供されているため、どれを使用すればよいかわかりません。私は自分のモデルをできるだけ多く使用したいので (そうでなければ、Linq to Sql だけではないのでしょうか?)、モデルを CRUD しようとするときに SubSonic のクエリ構築機能を使用したくありません。
ここで何をすべきですか?私の MVC プロジェクトで SubSonic 3 を使用するための CRUD パターンに関するアドバイスは歓迎します。また、SubSonic 3 のこの主題をカバーしているが、Google 検索で上位にランクされていない Web サイトへのリンクも歓迎します...
ロブに直接尋ねた(リンクはこちら)。少なくとも私の DB では、生成されたコードに致命的なバグがあります。ああ、アルファソフトウェア。
アップデート
Subsonic3 のリリースに伴い、この質問を再考するためのちょっとしたきっかけをいただけますか?
subsonic - .netTiers vs SubSonic
今日の午後、netTiers と SubSonic を直接比較する時間がありました。
SubStage (SubSonic 2.1 リリースの一部) を使用して生成されたコードを使用し、基本クラスとして RepositoryRecord を使用しました。
.netTiers 2.2 によって生成されたコードを使用して、同じデータベースに対して同じテストを実行しました
このテストは、Rob Conery が投稿で使用したものから派生したものです。
http://blog.wekeroad.com/blog/subsonic-scaling/
派生物とは、データベースに 100,000 レコードを書き込んだことを意味します。
同じ PC で各テストを 3 回繰り返しました。
.netTiers は 90 秒でタスクを完了したことがわかりました。
Subsonic は 104 秒で完了しました。
これらの平均からの偏差は 1 秒以下でした。
subsonic - SubSonic の AddedBy フィールドと EditedBy フィールドを自動的に更新する
addedBy、editby (ユーザー)、addedDate、editDate などの一般的な列を含むデータ モデルがあります。
SubSonic 2.1 で使用できる、更新ごとに明示的に指定する代わりに、これらのフィールドを適切に自動的に更新する設定はありますか?
asp.net - SubSonicでn+1の問題をどのように回避しますか?
Ayendeには、nHibernateの「n+1」問題と戦う方法を詳しく説明したブログ投稿があります。本質的に、問題はこれです:
「BlogPosts」と「Comments」の2つのテーブルがあり、それらの間に1対多の関係があるとします(つまり、各BlogPostは複数のコメントを持つことができます)。ここで、次のネストされたforループを実行するとします。
私が理解していることから、SubSonicが生成するクラスはデフォルトでlazyloadです(これはほとんどの状況で役立つので、これを完全にオフにしたくはありませんが、これだけではありません)。つまり、内部ループが実行されるたびに(つまり、post.Commentsにアクセスするとき)、コメントを取得するために別のクエリをデータベースに送信する必要があります。
したがって、80のブログ投稿がある場合、それはブログ投稿のリストを取得するための1つのクエリであり、次にそれらのそれぞれのコメントを取得するための80のクエリです。ただし、コメントが熱心に読み込まれた場合、これは1つのクエリに削減されます。
現在、SubSonicでこの問題に対処する方法はありますか?
asp.net - SubSonic で FreeText を使用する
SubSonic で SQL 2005 の全文検索を使用する方法について、一般的なコンセンサスはありますか? InlineQuery を使用して IDataReader を取得できることはわかっていますが、これが唯一の方法ですか? また、ページングをどのように組み込むのですか? InlineQuery でページングを自分で作成する必要がありますか?
私が本当にやりたいことは、次のようなものです。
このように、組み込みの Subsonic ページング関数を使用でき、SQL でクエリ全体を記述する必要はありません。
subsonic - BuildProvider を ASP.NET Web サイト プロジェクトでのみ使用できるのはなぜですか?
Subsonicを試すつもりでしたが、ASP.NET Web サイト プロジェクトで buildProvider 要素を使用して DAL を生成できます。しかし、Web アプリケーションや Windows アプリケーションがBuildProviderをサポートしていない理由が気になります。
PS: Subsonic には、BuildProvider 以外で使用するオプションが 1 つあることは知っていますが、ちょっと興味があります。