問題タブ [dbset]

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.

0 投票する
1 に答える
8418 参照

c# - DbSet.Add() が機能しない

私はこのようなクラスを持っています:

私のデータベース:

私のコントローラーで:

db.MemberActivations.Add(memberActivation); 動作しません。json を返すと、新しく作成された memberActivation が dbset に含まれていません。memberActivation が dbset にプッシュされるまで保存されないため、db.SaveChanges() はありません。

0 投票する
1 に答える
47 参照

methods - dbset サブタイプの拡張メソッドへのアクセス

次のように定義された拡張メソッドがあります。

私が抱えている問題はそれにアクセスすることです-CurrentItemはItemのサブタイプです。だから私は試しました:

そして私は試しました

助言がありますか?

0 投票する
1 に答える
339 参照

entity-framework - OfType を使用した EF6 の単体テスト

DbSet の単体テスト用に Microsoft が提供するガイドラインhttp://msdn.microsoft.com/en-us/library/dn314429.aspxに従おうとしています。彼らが文書化したように、すべてがうまくいっていました。継承テーブルで動作するコードにたどり着くまで。OfType() は拡張メソッドであるため、コードをテスト可能に保つために機能するモックを作成する方法がわかりません。

明確にするために:注入されたDBContextを取り、いくつかのDbSetを公開するサービスレイヤーをテストしようとしています。具体的には、StaffHistory、ContactHistory などの具体的な派生型を持つ抽象 History クラスがあります。その結果、Dbcontext には History 型の DbSet が 1 つしかありません。次に、拡張メソッドの OfType を使用して識別子を設定し、特定の型を照会します。

モック DbSet を作成すると、OfType 拡張メソッドが失敗して NullReference Exception が報告されることを除いて、通常はすべて正常に動作します。

アイデアやヒントはありますか?

サービス層:

単体テスト コード:

私のアプローチに何か欠陥がありますか?モックのセットアップ方法に何か問題はありますか? これは、DbSet で動作するサービス ロジックをテストできるように、前述の Microsoft の記事に従っています。唯一の欠陥は、拡張メソッドのようです。これを回避する方法がわかりません。

0 投票する
1 に答える
179 参照

entity-framework - ASP MVC / EF6 - 自動ロギング

データベースのすべてのテーブルには、最後に 2 つの列があり、ログを記録できます (アクションを実行したユーザーとアクションの日付)。編集:コードファーストの移行を使用します。
したがって、これらの 2 つのログ列が自動的に入力されるようにしたいと思います。

  1. テーブルに新しいエントリを挿入するたびに (DbContext.[Model].Add(entry) を使用)

  2. または、DbContext.SaveChanges() アクションを実行するたびに


DbContext.SaveChanges() メソッドをオーバーライドすることを検討しましたが、うまくいきませんでした...

また、DbSet Add() メソッドをオーバーライドして、そこでログ入力アクションを実行しようとしました。そのために、 DbSet から継承する CustomDbSet クラスを作成しました。

しかし、これもうまくいきませんでした。
EDIT:このCustomDbSetで何が起こるかというと、DbContext.[Model]がnullを返すということです(データベーステーブルのコンテンツで満たされるので

はなく)ロギングが「自動」アクションになるように、どこに置くかを知っています..

それを達成するためのアイデアはありますか?

0 投票する
0 に答える
503 参照

c# - エンティティ フレームワーク 6 でのインターフェイスの使用

C# MVC5 インターネット アプリケーションをコーディングしましたが、EF6 でインターフェイスを使用できるかどうか、できない場合はクラスをどのようにコーディングすればよいかを知りたいです。

これが私が持っているものです。

私は持っていDbSet<TestObjectWithObjectList>ます。TestObjectWithObjectListDbSet にa を追加すると、 にも a が追加TestObjectItemされList<TestObjectItem>ます。を取得するTestObjectWithObjectListと、List<TestObjectItem>のカウントは 1 です。

これは同じコードですが、次のList<ITestObjectItem>とおりです。

私は持っていDbSet<TestObjectWithInterfaceList>ます。TestObjectWithInterfaceListを DbSet に追加すると、(インターフェイスを実装する) も に追加されTestInterfaceObjectItemます。を取得すると、のカウントは 0 です。ITestObjectItemList<ITestObjectItem>TestObjectWithInterfaceListList<ITestObjectItem>

上記のコードを で動作させることは可能List<ITestObjectItem>ですか? 私がやりたいことは、多くのオブジェクトを に追加し、オブジェクトList<ITestObjectItem>を取得するだけでそれらを取得できるようにすることTestObjectWithInterfaceListです。

前もって感謝します

0 投票する
1 に答える
670 参照

unit-testing - DbSet のモックRhinoMocks と EF6 を使用

テストを実行すると、次のエラーが発生します: System.NotImplementedException : The member 'IQueryable.Provider' has not been implemented on type 'DbSet' ...' EF 6 でこれを処理するより良い方法はありますか?

0 投票する
2 に答える
385 参照

c# - DbSet<>.SqlQuery は、いくつかの変数値に挿入します

私は ac# プロジェクトに取り組んでおり、EntityFramework でデータベースを作成しました。

これはデータベースです:

これが私の主な機能です:

メソッドSampleSolutionで、私は実行しようとしています

問題は、&& を使用して変数値をテーブル Resultat に挿入できないことです。

誰かが、c# で複数の変数データをテーブル Resultat に挿入する方法を知っていますか?

事前に感謝します。十分な詳細を提供していただければ幸いです。

ご挨拶。

0 投票する
1 に答える
1164 参照

c# - || の使い方 ラムダ式の演算子

|| の使い方 (または) ラムダ式の演算子?

これが私が試したことです:

前もって感謝します

編集

現在のユーザーのアセットのリストと、すべてのユーザーのすべてのアセットを取得したいと考えています。すべてのユーザーのアセットには、DefaultMapMarker のカテゴリがあります。

0 投票する
1 に答える
1440 参照

c# - 単純なモデルでの EF6 外部キー制約

シンプルな MVC 5 インターネット アプリケーションをコーディングしています。ここに私のモデルがあります:

House コントローラーで Index アクションの結果を読み込むと、次のエラーが発生します。

これを正しくコーディングするための助けをお願いできますか?

前もって感謝します

編集

ForeignKeyフィールドの外部キー フィールドに属性を追加しました。

私はまだ同じエラーが発生しています。