問題タブ [linqdatasource]
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.
linqdatasource - LinqDataSource の "OnSelecting" イベントがポストバックで発生しない
2 つのドロップダウン リスト コントロールを含む Web ページがあり、それぞれが個別の LinqDataSource オブジェクトにバインドされています。1 つはカテゴリのリストを表示し、もう 1 つは記事のリストを表示します。カテゴリの選択は、記事のリストを駆動します (少なくとも、それが私の意図した動作です)。記事リストは、ユーザーの言語設定に基づいてフィルター処理され、セッションに保存され、ArticleLinqDataSource_Selecting
イベント ハンドラーに適用されます。
これは、ページが最初に読み込まれたときにすべて正常に機能します。カテゴリ リストには、使用可能なすべてのカテゴリ値が含まれており、リストの最初のカテゴリが選択されています。そして、最初のカテゴリの対応する記事が、記事のドロップダウン コントロールに適切に表示されます。ただし、カテゴリを変更すると (ポストバックが発生するのは、それが に設定されているためですAutoPostBack="true"
)、記事のドロップダウンが更新されません。つまり、OnSelecting イベントは後続のポストバックで発生しません。これは予想される動作ですか?どうすればこれを回避できますか?
asp.net - LinqDataSource - dbnull 値を持つデフォルトの挿入パラメーターは可能ですか?
ASP.Net ページで単純な (またはそう思われる) データバインディングと CRUD タイプの操作を実行する必要があります。FormView に接続された LinqDataSource を使用しています。挿入しようとしているテーブルには、これらのフィールドのデフォルトの制約があります。
挿入を行うと、これらのフィールドに何もバインドしていないにもかかわらず、Created および Modified に値を挿入しようとしているため、SQL Datetime オーバーフロー エラーが発生します。
私の質問は、LinqDataSource を取得して、insert ステートメントでこれらのフィールドを省略したり、少なくとも dbnull または null を指定して、データベース レベルのデフォルトが引き継がれるようにする方法を教えてください。
datacontext - LinqDataSource DataContext オブジェクトがデータ ソースの構成に表示されない
プロジェクトに LinqToSQL クラスを追加し、App_code フォルダーに配置しました。
次に、LinqDataSource を新しい Web ページに追加し、このクラスを使用するように構成しようとしましたが、DataContext ドロップダウンのオプションとして表示されません。
クラスをプロジェクトのルート ディレクトリに移動したところ、DataContext ドロップダウン ボックスで使用できるようになりました。
1ページで新しいプロジェクトを作成し、もう一度試してみましたが、それでも同じです。クラスがルート ディレクトリにない場合は利用できません。
インターネットを検索しましたが、見つかったものはすべて、クラスが App_code フォルダーにある必要があることを示していますが、そこに置いても機能しません。
クラスを App_code フォルダーに配置すると、クラスが利用できない理由を知っている人はいますか?
ありがとうございました
c# - LinqDataSource.OrderByをメソッドの結果に設定することは可能ですか?
私はLINQをあまり使用していませんが、使用すればするほど、LINQがいかに強力であるかを実感します。境界のあるアイテムのプロパティから並べ替える場合は、LinqDataSource.OrderBy句を使用するのは明らかに簡単ですが、メソッドの戻り値に基づいてアイテムを並べ替える場合はどうでしょうか。このクラスを例にとってみましょう(風変わりなデザインは無視してください。これは私の主張を強調するために使用されているだけです)。
LinqDataSourceでorderby式を設定して、GetSortValueから返された値(つまり、プロパティ以外のメンバーによる順序)を使用するが、DataItemクラスを変更しないようにする方法はありますか?
asp.net - Web フォームで LinqDataSource を使用する際のエラー メッセージ
コーディング プラットフォーム: ASP.NET 4.0
AutoDelete 機能を有効にして、GridView を LinqDataSource にバインドしています。
GridView は Products テーブルにバインドされています。
CategoryID に関連付けられた Products テーブルと Category テーブルがあります。
Products テーブルで参照されているカテゴリを削除しようとしても、削除できません。
まったく問題ありませんが、エンド ユーザーに何らかのエラー メッセージを通知してほしいです。
このエラー メッセージをキャッチする場所
.net - EnableUpdate と EnableDelete を EF4 LinqDataSource で動作させることはできますか?
そのため、約 2 年前に Linq-To-Sql を使い始めましたが、会社から Entity Framework v4 に切り替えるように求められています。ここで L2s と EF の議論には入りたくないので、L2S に戻すことはできないと仮定してください。
とにかく、古き良き L2S では、グリッドビューまたはリストビューを定義してから、LinqdataSource を EnableUpdate=true、EnableDelete=true、および EnableInsert=true で定義します。gridview または listview の DataSourceID を linqdatasource と BAM の ID に割り当てます。インスタント CRUD。
ただし、EF4 では、この自動コードレス CRUD が欠落しているようです。Visual Studio 2010 のデザイン画面から、Gridview タスク ウィンドウに「編集を有効にする」または「削除を有効にする」が表示されません。これらのアイテムは L2S アプリに表示されていました。さらに、EnableX=true プロパティを LinqDataSource に手動で追加すると、更新しようとするとエラーが発生します 。削除、挿入、または更新操作が有効になっています。」
EF4 を LinqDataSource の EnableUpdate/Delete/Insert コマンドに従わせる方法はありますか?
ありがとう!
gridview - ASP.NET - LinqDataSource にバインドされた FormView はデータを表示しますが、データベースを更新しません (更新イベントは発生します)
GridView から選択された単一の製品の詳細を編集できるようにすることを目的とした、LinqDataSource にバインドされた FormView があります。LDS には、GridView コントロール (つまり、ControlParameter) を指すように設定された Where パラメーターがあります。
FormViewには、GridView で選択した製品レコードが表示されます。ただし、[更新] をクリックしても、データベースに対して更新は実行されません。
これは私が見たものです:
- FormView の ItemCommand ハンドラーで、Update コマンドが発生します。
- 次に、LDS の Updating イベントが発生しますが、e.NewObject を見ると、Product オブジェクトが添付されていますが、ProductID が (正しい値に) 設定されているだけで、他のすべてのプロパティは設定されていません。これが、更新がデータベースにヒットしない理由であることは間違いありません。
FormView を編集モードに明示的に設定し、FormView の ItemCommand ハンドラーでデータバインドしようとしましたが、違いはありません。
データを表示しているときに FormView がどのように Product オブジェクトに明確にバインドされているのかわかりませんが、Update コマンドを実行するとそれが失われます。
ところで、私は DataContext にカスタム コンストラクターを使用していますが、OnContextCreated を通常の ContextTypeName に置き換えると、やはり問題が発生します。
asp.net - LinqDataSourceの高速化
こんにちは、次の質問があります。データベース内の2つのテーブルがどこにあると仮定します。
2番目のものは最初のものを参照します。つまり、各注文はクライアントに割り当てられます。ここで、 LinqDataSource for Ordersテーブルを含む.aspxページと、このデータソースを使用して次の列を持つテーブルを表示するGridViewがあるとします。
- 注文名。
- 注文説明
- クライアント名。
- クライアントアドレス。
私が理解している限り、Linq to SQLは、デフォルトでは関連するエンティティをロードせず、子プロパティが要求された場合にのみロードするように設計されています。したがって、ページが読み込まれると、次の状況が発生します。
- 最初のクエリは、Ordersテーブルからレコードを取得します。
- GridViewによって表示される行ごとに、クライアントプロパティの1つが要求されたときに、追加のクエリが実行されます。
したがって、100の注文がある場合、これは1つではなく101のクエリを実行することを意味します(または、クエリが各クライアントプロパティに対して実行される場合は、201のクエリを実行することもあります)。これを回避し、LinqDataSourceに単一のクエリですべての必須フィールドをロードさせる方法は?
現在、この問題の唯一の回避策があります。結合クエリでSqlDataSourceを使用すると、必要なすべてのフィールドが一度に取得されます。
c# - LinqDataSource は、不明な理由で ChangeConflictException をスローします
現在、古いプロジェクトで奇妙な問題に直面しています。プロジェクトは FormView を使用してデータを編集します。FormView は LinqDataSource にバインドされています。編集したオブジェクトを更新すると、
例外。私はしばらくグーグルで検索しましたが、これまでに読んだ投稿から、これは同時実行の問題であることがわかりました。その間にデータを更新する誰かが本当にいるのであれば、私は同意しますが、誰もそうしません。
LinqDataSource は次のようになります。
これは FormView の開始タグです。
Update は ImageButton によって発生します。
これらを修正するにはどうすればよいですか。すべての行がこれによって影響を受けるわけではないようです。数時間前に、別の Web アプリケーションで連続して値を変更しました。それ以来、私は現在問題を抱えている Web アプリケーションを何度か再構築してクリーンアップしましたが、それでも状況は変わりません。
実際には、false に設定できる「DisableConcurrency」プロパティを探していますが、残念ながら LDS はそのようなものを提供していません。
助言がありますか?