サンプル・コード

このサンプル・コードは、ブログおよび投稿オブジェクトのブログ・コンテキストの作成に必要なコードを示します。

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