- CRUD에 대한 구현은 C#의 Class Project를 생성하여 구현한다.
MyClassProject
ㄴ Common
ㄴ ICRUDRepositoryAsync.cs
ㄴ myModelDbContext.cs
프로젝트는 SqlServer에 DB를 사용하는 것으로 한다.
패키지는
EntityFrameworkCore.SqlServer
EntityFrameworkCore.Inmemory
Configuration Manager 사용함.(Nuget Package)
using Microsoft.EntityFrameworkCore;
using System.Configuration;
namespace MyProject
{
public class MyProjectDbContext : DbContext
{
public MyProjectDbContext() {}
public MyProjectDbContext(DbContextOptions<MyProjectDbContext> options) : base(options)
{
// 이렇게만 두는것이 공식처럼 구현하는 것.
}
public MyProjectDbContext(DbContextOptionsBuilder optionsBuilder)
{
// 닷넷 프레임워크 기반에서 호출되는 코드영역
// App.config 혹은 Web.config의 연결 문자열을 사용함.
if(!optionsBuilder.IsConfigured) {
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
optionBuilder.UseSqlServer(connectionString);
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// 모델을 생성할떄 자동으로 제약조건(DefaultValue) 추가하기
modelBuilder.Entity<myModel>().Property(m => m.Created).HasDefaultValueSql("GetDate()");
}
// 솔루션 관련 모든 테이블에 대한 참조
public DbSet<MyModel> MyModels { get; set; }
}
}
'Programming > .NET(Blazor Web)' 카테고리의 다른 글
[Programming][.NET][Blazor] Authentication 처리 (0) | 2025.01.06 |
---|---|
[Programming][.NET][Blazor] Blazor CRUD(2).Repository 구현 (0) | 2025.01.05 |
[Programming][.NET][Blazor] razor 문법 메모장 (0) | 2025.01.03 |
[Programming][.NET][Blazor] EditForm으로 입력 받기, 유효성 검사 (0) | 2025.01.03 |