Entity Framework学習記録
7588 ワード
ef code firstの学習記録を1回記録する
最近は自分のフレームワークを作りたいと思って、適当なORMを探しています.
でも使うとなんだか何か足りない?
だから1つの成熟したORMのフレームワークを探すことを决心して、学习して构筑して、自分の不足を発见します
ところで、Nhibernate、Entity Framework、SqlSugarなどの軽量級のフレームワークは、最後にEntity Framework(結局マイクロソフトの大工場、大工場について行く)を選びました
1,まず1つのプロジェクトを新築して、winform、mvc、コンソールはすべてできて、新築した後にnugetを使ってentityframeworkに従って、私は現在6.2のバージョンを詰めています
2 model、データベースコンテキストクラス、
3.パッケージ管理コンソールで次のコマンドを実行します(実行前にプロジェクトをコンパイルしてください)
Enable-Migrationsテーブルは、データベースの変更を有効にします.
Add-Migration InitialCreate変更をコレクションにコミット
Update-Database-Verboseデータベーステーブル構造への変更の同期
4.これにより、データベースは作成したモデルに基づいてデータベースとテーブルPersonsを作成します.
5.データベース・テーブルへのデータの挿入
最近は自分のフレームワークを作りたいと思って、適当なORMを探しています.
でも使うとなんだか何か足りない?
だから1つの成熟したORMのフレームワークを探すことを决心して、学习して构筑して、自分の不足を発见します
ところで、Nhibernate、Entity Framework、SqlSugarなどの軽量級のフレームワークは、最後にEntity Framework(結局マイクロソフトの大工場、大工場について行く)を選びました
1,まず1つのプロジェクトを新築して、winform、mvc、コンソールはすべてできて、新築した後にnugetを使ってentityframeworkに従って、私は現在6.2のバージョンを詰めています
2 model、データベースコンテキストクラス、
base("name=MyStrConn") webconfig
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public enum SexType { Male, Female }
public class Person
{
[Key]
public string PersonId { get; set; }
//
public string Name { get; set; }
//
public SexType Sex { get; set; }
//
public int Age { get; set; }
public Person(string personId, string name, SexType sex, int age)
{
PersonId = personId;
Name = name;
Sex = sex;
Age = age;
}
}
}
using System.Data.Entity;
namespace ConsoleApp1
{
public class MyDbContext : DbContext
{
public MyDbContext() : base("name=MyStrConn")
{
}
public DbSet Persons { get; set; }
}
}
}
3.パッケージ管理コンソールで次のコマンドを実行します(実行前にプロジェクトをコンパイルしてください)
Enable-Migrationsテーブルは、データベースの変更を有効にします.
Add-Migration InitialCreate変更をコレクションにコミット
Update-Database-Verboseデータベーステーブル構造への変更の同期
4.これにより、データベースは作成したモデルに基づいてデータベースとテーブルPersonsを作成します.
5.データベース・テーブルへのデータの挿入
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
using (var db = new MyDbContext())
{
Person person = new Person("1001", " ", SexType.Female, 26);
db.Persons.Add(person);
Student stu = new Student("001", " ", " ", "1000", "XXX", SexType.Female, 25);
db.Persons.Add(stu);
db.SaveChanges();
Console.WriteLine("Success");
}
Console.ReadLine();
}
}
}