Entity Framework Feature CTP 4は、Code Firstプログラミングモデルを更新し、生産性を向上
3123 ワード
最近、Entity Framework Feature CTP 4が発表され、Code Firstプログラミングモデルが更新され、新しい符号化規則とデータ注釈が追加された.また、DbContextとDbSetの2つのタイプが追加され、Code Firstを使用してエンティティモデルの作成を簡素化することができる.
Code First
Code Firstプログラミングモデルはクラスコードを記述することによってモデルを作成し,そのクラスに関連付けられたエンティティはモデルに含まれる.適切な符号化規則を使用するとEFはモデルを検出し、Fluent APIまたはデータ注釈属性によってこのプロセスを精密化することもできる.次のコード例では、データ注記プロパティの使用方法を示します.
[Key]注記で指定された属性はエンティティのプライマリ・キーであり、[StringLength(512)]は文字列属性の最大長値を指定します.EF CTP 4は、Key、StringLength、ConcurrencyCheck、Required、Timestamp、DataMember、RelatedTo、MaxLengthおよびStoreGeneratedといったデータ注釈を認識することができる.
Fluent APIの優先度はデータ注釈よりも高く、データ注釈の優先度はコード約定よりも高い.その他の重要なCode Firstの更新は次のとおりです. CTP 4でサポートされているモデルプローブの約束は、プライマリ・キー、リレーションシップの反転、外部キー、および多様なテーブル名 である. Fluent APIメソッドを精密化し、より直感的である.Code First Walkthroughには、より詳細な情報 が含まれています.
生産性の向上
EF CTP 4には、DbContextとDbSetの2つの新しいタイプが追加されています.DbContextはObjectContextの簡略化されたバージョンで、基本的なモデルキャッシュ、データベース供給、接続管理、モード作成などの機能を提供しています.コードの例は次のとおりです.
エンティティ・モデルを作成するには、モデルをデータベースに格納するために必要なすべての下位情報を含むコードで十分です.
マイクロソフトはEF 4 RTMの発表時期を明らかにしていないが、「RTMの早期発表を期すために努力している」と話している.
関連情報:ADO.NET EF CTP 4、EF CTP4 Walkthrough:Code First、Conventions for Code First、Productivity Improvements for the Entity Framework、EF CTP4 Walkthrough:Productivity Improvements.
EF CTP 4 Brings Code First Updates and Productivity Improvements
Code First
Code Firstプログラミングモデルはクラスコードを記述することによってモデルを作成し,そのクラスに関連付けられたエンティティはモデルに含まれる.適切な符号化規則を使用するとEFはモデルを検出し、Fluent APIまたはデータ注釈属性によってこのプロセスを精密化することもできる.次のコード例では、データ注記プロパティの使用方法を示します.
public class Person {
[Key]
public string SSN { get; set; }
[StringLength(512)]
public string Name { get; set; }
[RelatedTo(RelatedProperty=”Author”)]
public ICollection<Book> Books { get; set; }
}
[Key]注記で指定された属性はエンティティのプライマリ・キーであり、[StringLength(512)]は文字列属性の最大長値を指定します.EF CTP 4は、Key、StringLength、ConcurrencyCheck、Required、Timestamp、DataMember、RelatedTo、MaxLengthおよびStoreGeneratedといったデータ注釈を認識することができる.
Fluent APIの優先度はデータ注釈よりも高く、データ注釈の優先度はコード約定よりも高い.その他の重要なCode Firstの更新は次のとおりです.
生産性の向上
EF CTP 4には、DbContextとDbSet
using System.Collections.Generic;
using System.Data.Entity;
namespace MyDataAccessDemo {
class Program {
static void Main(string[] args){
using (var context = new ProductContext()) {
var food = new Category { CategoryId = "FOOD" };
context.Categories.Add(food);
var cheese = new Product { Name = "Cheese" };
cheese.Category = context.Categories.Find("FOOD");
context.Products.Add(cheese);
context.SaveChanges();
}
}
}
public class ProductContext : DbContext {
public DbSet<Product> Products { get; set; }
public DbSet<Category> Categories { get; set; }
}
public class Product {
public int ProductId { get; set; }
public string Name { get; set; }
public Category Category { get; set; }
}
public class Category{
public string CategoryId { get; set; }
public string Name { get; set; }
public ICollection<Product> Products { get; set; }
}
}
エンティティ・モデルを作成するには、モデルをデータベースに格納するために必要なすべての下位情報を含むコードで十分です.
マイクロソフトはEF 4 RTMの発表時期を明らかにしていないが、「RTMの早期発表を期すために努力している」と話している.
関連情報:ADO.NET EF CTP 4、EF CTP4 Walkthrough:Code First、Conventions for Code First、Productivity Improvements for the Entity Framework、EF CTP4 Walkthrough:Productivity Improvements.
EF CTP 4 Brings Code First Updates and Productivity Improvements