EF Core学習02 EF CoreはASP.NET Coreプロジェクトでの応用
一.MyContext注入および接続文字列構成は,まずMyContextクラスでコンストラクタを記述する.
これにより、optionsに含まれる接続文字列やその他の構成情報がMyContextクラスに伝達される.そしてASP.NET Coreプロジェクトではdataとmodelの2つのプロジェクトを参照し、startupクラスのConfigureServicesメソッドにMyContextを注入します.コードは次のとおりです.
UseSqlServerメソッドのパラメータは、データベース接続文字列のパラメータであり、あまり説明しません.二.データベースに対する操作1.クエリーとフィルタ
2.修正及び削除の詳細コード
public MyContext(DbContextOptions options):base(options)
{
}
これにより、optionsに含まれる接続文字列やその他の構成情報がMyContextクラスに伝達される.そしてASP.NET Coreプロジェクトではdataとmodelの2つのプロジェクトを参照し、startupクラスのConfigureServicesメソッドにMyContextを注入します.コードは次のとおりです.
services.AddDbContext(
options =>
{
options.UseSqlServer(_configuration.GetConnectionString("DefaultConnection"));
});
UseSqlServerメソッドのパラメータは、データベース接続文字列のパラメータであり、あまり説明しません.二.データベースに対する操作1.クエリーとフィルタ
// tolist,
_context.Provinces.OrderBy(x=>x.Id).ToList()
//
// :include,
var provinces = _context.Provinces.Include(x => x.Cities).ThenInclude(x=>x.Mayor).ToList();
//query projections ,
var provinces1 = _context.Provinces.Select(x => new
{
x.Name,
x.Id,
Cities=x.Cities.Where(o=>o.AreaCode=="").ToList()// ,
}).ToList();
//
// ID ,
var province = _context.Provinces.FirstOrDefault(o => o.Id == provinceId);
var province = _context.Provinces.Find(provinceId);
//
var province1 = _context.Provinces.FirstOrDefault(x => EF.Functions.Like(x.Name, "% %"));
2.修正及び削除の詳細コード
//
_context.Provinces.Add(model);
var list=new List();
//
_context.AddRange(list);
//
_context.Provinces.Update(model);
//
_context.Provinces.UpdateRange(list);
//
_context.Provinces.Remove(model);
//
_context.Provinces.RemoveRange(list);
// , , ,
_context.SaveChanges();