私はこの種のシステムを使用してSQLデータベースを管理する初心者です。レコードを挿入してからクエリを実行しようとしています。私はテーブル "タイプ"と "原点"の関連表にレコードを追加しています。これは "多対多"に関連しています。Entity Framework 5でレコードを追加するC#
type _type_ = dataBase.type.FirstOrDefault(x => x.name == "photo");
dataBase.origin.FirstOrDefault(x => x.name == "El Pais").type.Add(_type_);
var vari = from origin in dataBase.origin
from type in origin.type
select new
{
Origin = origin.name,
Type = type.name
};
foreach (var object in vari)
Console.WriteLine(object.Origin + " - " + objeto.Type);
私は私がちょうど挿入した新しいレコードを取得しない: の事は、私はこのコードを使用している場合です。
しかし、私はちょうどこのような "dataBase.SaveChanges()"、を使用する場合:
type _type_ = dataBase.type.FirstOrDefault(x => x.name == "photo");
dataBase.origin.FirstOrDefault(x => x.name == "El Pais").type.Add(_type_);
dataBase.SaveChanges();
var vari = from origin in dataBase.origin
from type in origin.type
select new
{
Origin = origin.name,
Type = type.name
};
foreach (var object in vari)
Console.WriteLine(object.Origin + " - " + objeto.Type);
をそれは働きます! これを読んだことがあります.SaveChanges() "このコンテキストで行われたすべての変更を基になるデータベースに保存します"
私は混乱しています。エンティティフレームワークを使用する利点の1つは、指向のモデルであり、クエリを作成することができます。これにより、ディスク上のデータベースにアクセスするよりもパフォーマンスが向上します。
しかし、私が見るところでは、そのモデルを変更するたびに、「基本データベースにすべての変更を保存する」必要があります。
だからどこに利点がありますか?使い方? ありがとう!
は「私はEntity Frameworkのを使用することの一つの利点は、あなたがそのオブジェクト指向モデルの変更を書いたことだと思った、とあなたはになりますされ、それにクエリを行うことができます:)
ありがとう、ありがとう:) – Marc