コードファーストアプローチ
本製品 からモデルを確認するもう1つの方法は、モデルクラスを記述することです。これは、Entity Framework におけるコードファーストアプローチで、アプリケーションで使用するデータモデルをより詳細に制御することができます。
コンテキストクラスの作成
これは、DbContext を拡張し、データソース内のテーブルを示すDbSet プロパティを公開する基本オブジェクトです。OnConfiguring メソッドをオーバーライドして、DbContext クラスの一部のデフォルト機能をオーバーライドします。
using Microsoft.EntityFrameworkCore;
public class SalesLoftContext : DbContext
{
public DbSet<Accounts> Accounts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSalesLoft("InitiateOAuth=GETANDREFRESH;AuthScheme=OAuth;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackUrl=http://localhost:33333;");
}
}
}
テーブルモデルの作成
コンテキストクラスのDbSet プロパティで定義された各テーブルのクラスを定義します。テーブルクラスには、そのテーブルの各フィールドに対応するプロパティのリストが含まれている必要があります。テーブルクラスの各プロパティの属性を設定するには、対応するマップクラスを定義する必要があります。
public class Accounts
{
public string Id { get; set; }
public string Name { get; set; }
}
レコードの取得
以下のように、テーブルからレコードを取得します。
class Program
{
static void Main(string[] args)
{
SalesforceContext context = new SalesforceContext();var Query = from Lead in context.Leadselect Lead;
foreach (var result in Query)
{
Console.WriteLine("{0}", result.Id);
Console.WriteLine("{0}", result.LastName);
}
try
{
context.SaveChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}
レコードの挿入
以下のように、既存のテーブルにレコードを挿入します。
class Program
{
static void Main(string[] args)
{
SalesforceContext context = new SalesforceContext();
Lead newRecord = new Lead()
{
Company = "Company", LastName = "Iris1"
};
context.Lead.Add(newRecord);
try
{
context.SaveChanges();
Console.WriteLine(newRecord.Id);
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}