コードファーストアプローチ
本製品 からクラスを自動生成する代わりに、モデルクラスを手動で記述することができます。 これは、Entity Framework におけるコードファーストアプローチで、アプリケーションで使用するデータモデルをより詳細に制御することができます。
コンテキストクラスの作成
はじめに、DbContext を継承するコンテキストクラスを作成します。
このクラスでは、アクセスしたいテーブルを表すDbSet プロパティを公開する必要があります。OnConfiguring メソッドを使用して接続を初期化します。
using Microsoft.EntityFrameworkCore;
public class LDAPContext : DbContext
{
public DbSet<MyTable> MyTable { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseLDAP("user=MyUserName;password=MyPassword;Server=MyServer;Port=MyPort;");
}
}
}
テーブルモデルの作成
コンテキストクラスのDbSet プロパティで定義された各テーブルのクラスを定義します。
テーブルクラスには、そのテーブルの各フィールドに対応するプロパティのリストが含まれている必要があります。
テーブルクラスの各プロパティの属性を設定するには、対応するマップクラスを定義する必要があります。
public class MyTable
{
public string KeyColumn { get; set; }
public string MyColumn { get; set; }
}
レコードの取得
以下のように、テーブルからレコードを取得します。
class Program
{
static void Main(string[] args)
{
LDAPContext context = new LDAPContext();
var Query = from Lead in context.Lead;
select Lead;
foreach (var result in Query)
{
Console.WriteLine("{0}", result.KeyColumn);
Console.WriteLine("{0}", result.MyColumn);
}
try
{
context.SaveChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}
レコードの挿入
以下のように、既存のテーブルにレコードを挿入します。
class Program
{
static void Main(string[] args)
{
LDAPContext context = new LDAPContext();
MyTable newRecord = new MyTable()
{
MyColumn1 = "Value1", MyColumn2 = "Value2"
};
context.User.Add(newRecord);
try
{
context.SaveChanges();
Console.WriteLine(newRecord.Id);
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}