問題タブ [subsonic3]
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.
linq - SubSonic 3 ActiveRecord ラムダ式が削除時に部分的に無視される
ユーザー、ウィジェット、レイアウトのテーブルがあります。ユーザーは、レイアウトを介してウィジェットと多対多の関係を持ちます。各レイアウトには UserID と WidgetID があります。特定の UserID と WidgetID に一致するレイアウトを削除したい。
SubSonic 3 ActiveRecord を使用して、次のように記述します。
ただし、SubSonicはユーザーのすべてのウィジェット レイアウトを削除し、条件の 2 番目の部分を無視しているように見えます。私のやり方が間違っているのでしょうか、それとも SubSonic のバグですか? 後者の場合、回避策はありますか?
後で追加: プロジェクトの Models サブディレクトリにある Context.tt で一時的に修正しました。
subsonic - DateTime フィールドの更新により例外が発生する
過去数日間 subsonic 3.0 を使用していて、問題が発生しました。ActiveRecord を使用し、既存のレコードで save を呼び出すと、次のことが発生しました。
私が使用しているコードは、問題を示すためのものです。
SQL プロファイラーと resharper を調べると、insert ステートメントと update ステートメントがまったく異なる方法で生成されることがわかりました。挿入時に、次のSQLコードを取得しています:
そしてアップデートで
挿入日と更新日はさまざまな方法で渡されます。また、「14.07.2009」を解析すると範囲外の値になります。ローカル カルチャがロシア語に設定されており、SQL サーバーの照合順序が Cyrillic_General_CI_AS に設定されているため、カルチャ/グローバル化設定のどこかに問題がある可能性があると思います。ただし、問題は挿入時には発生せず、更新時にのみ発生します。そして、これは問題が亜音速のどこかにあると私に思わせます。どんな助けやアイデアも大歓迎です。
ウラジミール
subsonic3 - Subsonic 3.0 のセットアップの問題
http://subsonicproject.com/docs/Setting_up_SubSonic_3.0のビデオに示されているように、セットアップ プロジェクトを再作成しようとしています。
Visual C# 2008 Express Edition を使用してすべての手順を実行していますが、何か問題があります。
settings.ttinclude は次のとおりです。
.. subsonic.core.dll リファレンスを追加し、次の設定で app.config を作成しています。
また、t4 テンプレート ディレクトリにある ActveDirectory フォルダーをソリューションにコピーしています。.cs ファイルはここで生成されるはずですが、そうではありません。
誰でも助けてくれますか?
よろしく、
エイドリアン
subsonic - SS3 を使用して複雑な PagedList を取得する方法
私のデモでは、データベースに TProduct、TCategory、TProductCategoryMap の 3 つのテーブルがあります。
TProduct (ProductId int PK、OtherFields)
TCategory (CategoryId int PK、OtherFields)
TMap (ProductId int PK、CategoryId int PK)
ここで、特定のカテゴリ ID を持つ製品の PagedList を取得する必要があります。
これが私のコードです:
ここで製品を返品すれば、すべて問題ありません。しかし、次のような pagedlist を返すと:
生成された SQL テキストにより、「ランキング関数 "ROW_NUMBER" には ORDER BY 句が必要です。」という構文エラーが発生します。
間違った linq 式を使用していませんか? では、正しい結果を得るにはどうすればよいでしょうか。
アドバイスをください、ありがとう。
subsonic3 - Subsonic 3 シンプルなリポジトリとトランザクション
これが私がこれまでに持っているものです。何か間違っているのでしょうか、それとも 3.0.0.3 にバグがありますか?
SubSonic DbDataProvider public DbConnection CurrentSharedConnection { get { return __sharedConnection; でエラーが発生しました。}
など.. __sharedConnection == null :( Object Null Reference Exception :(
subsonic3 - IRepository インターフェース
サブソニック 3 のソース コードを読んでいます。ファイル IRepository.cs で、次のものが見つかりました。
Load メソッドがジェネリックとして定義されており、それらのジェネリック型名がインターフェイスのジェネリック型と同じであるため、コンパイラの警告が発生することに注意してください。
私の質問は次のとおりです: Load メソッドは本当にジェネリックであることを意図していますか、それとも間違いでしたか? メソッドがジェネリックであることを意図している場合、コンパイラを満足させるために、型名を「T」から「E」などの別のものに変更する必要がありますか?
linq - LINQ/Subsonic を介して "DELETE NOT IN" SQL ステートメントを再現する
DELETE FROM TABLE WHERE ID NOT IN (1,2,3) AND PAGEID = 9 のようなことをしたい
IDS のリストがありますが、必要に応じて変更できます。LINQ パーサーのブール値を取得する方法がわかりません。
これがSubsonicが期待するものです。
db.Delete(コンテンツ => コンテンツ.PageID == ID).Execute();
NOT IN ステートメントの実行方法がわかりません。List.Contains メソッドを試しましたが、何かが正しくありません。
更新: 1 つの代替方法は次のとおりです。
ただし、これはデータベースにさらに多くヒットします
subsonic - Subsonic 3.0 レフト ジョイン
linq を使用して subsonic で左結合を実行しようとしていますが、うまくいかないようで、大きなエラーが発生します。
オブジェクトとLinq2Sqlで数回実行したので、クエリが正しいと確信しています。
subsonic は、左結合 linq クエリから必要な SQL を生成できないようです。
ここで何か間違ったことをしていますか?回避策はありますか?
更新: subsonic 3.0.0.2 を使用しています。これは、subsonic で左結合を試行したときに表示されるエラーです。
1[GetAQuote.Post]' cannot be used for parameter of type 'System.Linq.IQueryable
メソッド 'System.Linq.IQueryable 2[ GetAQuote.Post 1[<>f__AnonymousType2
,System.Collections.Generic.IEnumerable 1[GetAQuote.Quote]]] GroupJoin[Post,Quote,Int32,<>f__AnonymousType2
2](System.Linq.IQueryable 1[GetAQuote.Post], System.Collections.Generic.IEnumerable
1[GetAQuote .Quote]、System.Linq.Expressions.Expression 1[System.Func
2[GetAQuote.Post、System.Int32]]、System.Linq.Expressions.Expression 1[System.Func
2[GetAQuote.Quote、System.Int32]]、System.Linq.Expressions.Expression 1[System.Func
3 [GetAQuote.Post,System.Collections.Generic.IEnumerable 1[GetAQuote.Quote],<>f__AnonymousType2
2[GetAQuote.Post,System.Collections.Generic.IEnumerable`1[GetAQuote.Quote]]]])'