サンプル・コード
このサンプル・コードは、ブログおよび投稿オブジェクトのブログ・コンテキストの作成に必要なコードを示します。
EF Coreでは、これら2つのオブジェクトへのデータベース・スキーマ表マッピングを作成します。アプリケーションが実行されると、新規ブログ・エントリをブログ表に追加し、そのエントリを取得してアプリケーションに戻します。
// C#
using Oracle.EntityFrameworkCore;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace OracleBlog
{
class Program
{
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseOracle(@"User Id=blog;Password=<password>;Data Source=pdborcl;");
}
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
static void Main(string[] args)
{
using (var db = new BloggingContext())
{
var blog = new Blog { Url = "https://blogs.example.com" };
db.Blogs.Add(blog);
db.SaveChanges();
}
using (var db = new BloggingContext())
{
var blogs = db.Blogs;
}
}
}
}
GitHubでは、ストアド・プロシージャや依存性インジェクションの例など、追加のODP.NET EF Coreサンプル・コードを利用できます。
https://github.com/oracle/dotnet-db-samples/tree/master/samples/dotnet-core/ef-core