2 つのテーブルとそれぞれにいくつかの列を持つ単純なデータベースを作成しました。エンティティ フレームワーク 4.1+ をインストールするときに読んだいくつかのチュートリアルでは、「DbContext コード」を生成できます。次に、ローカル コンテキストを使用して ObservableCollection を取得できます。これは、UI を自動的に更新するため、DbSet よりも優れています。そこで、エンティティ フレームワーク 4.1 をインストールし、データベース モデルを選択して、「ADO.NET DbContext Generator」を選択しました。だから私はこれを得た:
namespace BazaStudentow
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class DatabaseEntities : DbContext
{
public DatabaseEntities()
: base("name=DatabaseEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<Notes> Notes { get; set; }
public DbSet<Students> Students { get; set; }
}
}
さらに、単純なテーブル モデルを含む StudModel.tt ファイル。
したがって、メインクラスでこれを追加しました:
DatabaseEntities db = new DatabaseEntities();
しかし、db.Studentsには2つのレコードがありますが、db.Students.Localが空であることに気付きました(以前にエディタで2つのレコードを手動で追加しました)。だから私はこれを見つけました:ObservableCollectionはObjectSetよりも優れています(2番目の回答)が、そのような「Load」メソッドはありません。私は何が欠けていますか?この「ロード」を機能させるには、特別なコードを追加する必要がありますか?
1. 新しいプロジェクトを作成し、単純なデータベースを追加します。2. Entity Framework を使用していくつかのコードを自動的に生成し、データが変更されると自動的に更新される DataGrid などにテーブルをバインドできるようにします (ObservableCollection が必要です)。3.これを取得したら、データを挿入/更新/削除する機能をいくつか追加します(autoupdate ofcを使用)。
助けてください、乾杯;)