Entity Framework
最終更新:2018/12/09
■Entity Framework 6~
TransactionScopeはAzure SQL DBでサポートされていない分散トランザクションになってしまうことがあったり、
UseTransactionと組み合わせられないため、BeginTransaction()が推奨されています。
TransactionScopeが使えないわけではありませんので。。。
■Entity Framework Core
.NET Core 2.1より前のバージョンでは、TransactionScope または CommitableTransaction を使用できません。
.NET Core 2.1から使えますが、NET Framework の ADO.NET プロバイダーが対応していない場合は、例外が
スローされるそうです。そのため、動作確認が必要です。
また、バージョン 2.1 の時点では、.NET Core での System.Transactions の実装には、分散トランザクションの
サポートは含まれていません。したがって、TransactionScope または CommitableTransaction を使用して複数の
リソース マネージャー間でトランザクションを調整することはできません。
■排他制御
・EntityFrameworkの楽観ロック機能を使うなら
TimeStampアノテーションを活用する。
・DBのテーブルに楽観ロック用カラムを追加したくない場合は
EntityFrameworkの楽観ロック機能を使わない。
アプリ側での楽観ロックを実現する。
●Transaction Scope
Entity Frameworkとトランザクション
Entity FrameworkでTransactionScopeを使用する際にMS-DTCへの昇格を防止する方法
EntityFramework(18):トランザクション処理
ASP.NET MVCでDbContextのトランザクションと独自SQL 処理のトランザクションを同一のスコープにする
トランザクションの使用 - Entity Framework Core
Part 2. Entity Framework Core 1.0 の基本的な使い方
EF Core 2.1ロードマップ: ビュー、Group By、遅延読み込み
entity framework 6 でのトランザクション
●テスト
Moqを使ってEntityframeworkのモックを作成するには?【単体テスト】
Entity Framework のモックを作成するときに単体テストの ASP.NET Web API 2
InMemory でテストします。
Entity Framework 6でMoqを使ったテストを行う方法
MockフレームワークによるEFのテスト
テストプロジェクトからメインプロジェクトのDBを参照する
RepositoryパターンでDBに接続せずににEntity Framework (Linq to Entity)によるデータの取得をテストする。
FixtureBook とは単体テストで使用するデータを .xlsx ファイルに記述できるようにするための仕組みです
●複合主キー
Entity Framework で複合主キーを設定する方法と Find の使い方
Entity Framework で複合主キーを設定する方法
Entity Framework コードファーストで複合キーを使ってみる
[EntityFrameworkCore]CodeFirstでテーブルに複合主キーを付ける
【Entity Framework】 Code First(コード・ファースト)で、複合キーを設定するには
●排他制御
Entity Framework Core - 楽観的同時実行制御のサンプル
Entity Framework で楽観的同時実行制御を行う【コードファースト編】
EntityFramework(19):楽観的同時実行制御 (Timestamp列あり)
EntityFramework(20):楽観的同時実行制御 (Timestamp列なし)
Entity Framework
ASP.NET MVC 5 アプリケーション (10/12) では、Entity Framework 6 で同時実行の処理
データ取得・変更のためのその他の機能
ASP.NET MVCはじめました~データの更新と楽観的並行性制御
●MERGE / AddOrUpdate
[C#] Entity Frameworkで他の存在する挿入ロジックが存在する場合は行を更新する
Entity Framework - シードAddOrUpdate(識別子としてマルチカラムインデックスを使用)
Entity Framework: AddOrUpdate is a Destructive Operation
Entity Framework Code First AddOrUpdate method insert Duplicate values
How can I use use Entity Framework to do a MERGE when I don't know if the record exists?
●GUID自動生成
Entity Framework auto generate GUID
How does Entity Framework generate a GUID for a primary key value?
Auto-generated Guid in Entity Framework Code First
Entity Framework - Use a Guid as the primary key
●登録日時、更新日時を自動更新
EntityFrameworkで登録日時、更新日時を自動更新する
Entity Framework 6 で登録日と更新日を自動設定する
EntityFrameworkで登録日、更新日を自動設定する
●Tips
EntityFrameworkで発行されているSQLを確認する方法
Entity Framework Core 1.0 の InMemory データベースを使ってみる
Tutorial: Using Entity Framework Core as an In-Memory Database for ASP.NET Core
●ライブラリ
[entity-framework] エンティティフレームワークでの挿入の最速の方法
FlexLabs.Upsert
EntityFramework.Utilities
Entity Framework Extensions
LightSpeed
LightSpeed - .NET の商用 ORM
Entity Framework でアトミックインクリメント & 一括更新
LightSpeedで始める.NETでの光速開発 - モデリング編
●シーケンスの次の番号を取得
Using T-SQL SEQUENCE with Entity Framework 6
How to get next value of SQL Server sequence in Entity Framework?
How to get Oracle next sequence value in .NET Entity Framework?
●Distinct
【LINQ】重複する要素を取り除くには(Distinctセット演算子)
LINQ to EntitiesでDistinctするとOrder Byが効かなくなる?
Entity Framework select distinct name
【LINQ】重複する要素を取り除くには(Distinctセット演算子)
●AND / IN
LINQ:文字列コレクションで複数キーワードのOR検索をするには?[C#、VB]
LINQ で動的に OR 検索するやつ
【LINQ】複数キーワードでAND検索・OR検索をする方法
[LINQ] クエリ式(複数条件を指定してデータを取得する)
[C# LINQ] Whereの使い方から注意点まで
【C#】【Linq】Linq で IN句 を表現する
●BETWEEN
How to use BETWEEN keyword in Entity Framework?
●PARTITION BY
ROW_NUMBER() OVER (PARTITION BY) をLINQに変換したい
Row_number over (Partition by yyy) in Entity Framework
LINQ statement using PARTITION BY
●IN
EntityFramework-inでデータ取得
Linq to Entities - SQL “IN” clause
【C#】【Linq】Linq で IN句 を表現する 記事をクリップする
●EXISTS
Entity Framework - EXISTSを使ったサブクエリのサンプル
LINQ to SQLで複合キーのExists句を書く
【C#,LINQ】DefaultIfEmpty~配列やリストが空のときはデフォルトの値を取得したいとき~
●Group by
[Entity Framework] LINQ で Group by および Having を使用してデータを取得する
LINQ:データをグループ化する - group句[C#]
Entity Framework: Group By example C#
C# LINQ Group by句でカウント取得
●Order By
LINQ:データを並べ替える - orderby句[C#]
●Order ByのCase
How Order by Case in LINQ
LINQ to SQL lambda exp. OrderBy, Case When,Dynamic Where
●WITH ROLLUP
LINQ to SQL version of GROUP BY WITH ROLLUP
●Skip/Take
LINQ:特定範囲のデータだけを取得する - Skip/Takeメソッド[C#]
Entity Framework - SkipメソッドとTakeメソッドを使うとFETCH句とOFFSET句が使われることを確認する
EntityFramework do Paging on a query with a join
●select/SelectMany
LINQ:取得列を明示的に指定する - select句/SelectManyメソッド[C#]
●into
Linq入門記-07 (クエリキーワード, クエリ構文, クエリ結果を一時保持, into, select, group, join)
●join
Linq入門記-09 (クエリキーワード, クエリ構文, 結合, join, 内部結合, inner join, equals, cross join)
●Contains
ワイルドカードを含む文字列をあいまい検索する
●UNION / UNION ALL
ConcatとUnionのちがい
LINQでデータを連結させる方法
LINQ To SQLでSQLのUNION または UNION ALLを実装するには?
●TOP
select top 5 in entity framework
●LEFT OUTER JOIN
LINQ to EntitiesでLEFT OUTER JOIN
●サブクエリ
[Entity Framework] LINQ で サブクエリ(副問い合わせ)を使用してデータを取得する
Subquery with Entity Framework
Paging with Entity Framework Core
●SQLの検索CASE式
Select case in LINQ [duplicate]
LINQでSQLの検索CASE式
Linq Query using Case statement
●直接SQLを実行
EntityFramework(17):SQL ステートメントの直接実行
Entity Framework:SQL文を直接実行
.NET Core の Entity Framework で直接SQL文を実行する
●未整理
個人的によく使うlinqサンプル
What is the equivalent of XML PATH and Stuff in Linq lambda expression (GROUP_CONCAT/STRING_AGG)?
Pagination with Entity Framework
LINQ to Entitiesのクエリで数値型を文字列に変換する
LINQ to SQL と ROW_NUMBER() でカスタムページング
Entity Framework - パラメータを渡してSQLを実行する
Entity Framework Core - IncludeとThenIncludeを試す
Entity Framework Core - SQLをログで確認する
Entity Framework - ワイルドカード文字を使った文字列検索
Entity Framework - 条件付きで関連エンティティを読み込む
Entity Frameworkでenumのビット演算
EntityFrameworkで変更追跡外のオブジェクトを更新する方法
Entity Framework を利用するため設計上の注意
Entity Framework の調査
Entity Framework の俺的まとめ
EntityFramework+Azure SQL Databaseで高速な開発を実現する-環境構築編
EntityFramework Core を使ってデータベースを読み書きするプログラムの単体テストに In-Memory データベースを使ってみた
第2回 Entity Frameworkコード・ファーストでモデル開発
Entity FrameworkでRepositoryパターンを採用するか悩んでいる
Entity Framework
実践 Entity Framework ~ テーブルとフィールド名を変更する
Entity Data Model のテーブル/カラム名を一括で変更 ModifyEdmx
EntityFrameworkで属性のテーブル名を取得する
[entity framework]DBへのmigrationやアノテーションに関するまとめ
DBのカラム名からClassを生成する
EntityFramework DbContext でテーブルの Entity Data Model をメソッドの引数として指定したい
Entity Framework - 複合型のマッピング先のカラム名を変更する
ASP.NET MVC の Entity Framework で Oracle 既存DB 使いたい
EntityFramework(CodeFirst)でマイグレーションで説明情報を登録する
Entity Framework Code First で最低限知っておかないといけない規則
Entity Frameworkでデータベースファーストで開発する
LINQ to SQL 番外編 目次
Entity Framework Code First でのリレーションシップ
EntityFramework
基本的な外部キー制約を付けてみる
c# - 外部キーとして複合キー
Entity FrameworkでJoinを使わずに内部結合する
[Entity Framework] LINQ で JOIN 等を使わずに複数テーブルからデータを取得する
[Entity Framework] LINQ で LEFT JOIN 句を使用して複数テーブルからデータを取得する
実践 Entity Framework ~ ForeignKey 属性
ADO.NET Entity Framework入門
[PostgreSQL版] Entity Frameworkで世界が変わったでござる
【ワレコのC#】LINQでグループ化してソートして数をカウントし集計する
Copyright© 2005- Naoyuki Sano. All rights reserved.