Entity Framework
Entity Framework 코드 우선
수색…
기존 데이터베이스에 연결
Entity Framework에서 가장 간단한 작업을 수행하려면 - MSSQL의 로컬 인스턴스에있는 기존 데이터베이스 ExampleDatabase
에 연결하려면 두 클래스 만 구현해야합니다.
첫 번째 엔티티 클래스가 데이터베이스 테이블 dbo.People
매핑됩니다.
class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
}
이 클래스는 Entity Framework의 규칙을 사용하고 기본 키 PersonId
와 varchar (max) 속성 FirstName
이 있어야하는 dbo.People
테이블에 매핑합니다.
두 번째는 System.Data.Entity.DbContext
에서 파생되며 런타임 중에 엔터티 개체를 관리하고 데이터베이스에서 해당 개체를 병합하고 동시성을 처리하고 다시 데이터베이스에 저장하는 컨텍스트 클래스입니다.
class Context : DbContext
{
public Context(string connectionString) : base(connectionString)
{
Database.SetInitializer<Context>(null);
}
public DbSet<Person> People { get; set; }
}
컨텍스트의 생성자에서 데이터베이스 초기자를 null로 설정해야한다는 것을 기억하십시오. Entity Framework에서 데이터베이스를 만들지 않고 단지 액세스하려고합니다.
이제는 테이블에서 데이터를 조작 할 수 있습니다. 예를 들어 다음과 같이 콘솔 응용 프로그램에서 데이터베이스에있는 첫 번째 사람의 FirstName
을 변경하십시오.
class Program
{
static void Main(string[] args)
{
using (var ctx = new Context("DbConnectionString"))
{
var firstPerson = ctx.People.FirstOrDefault();
if (firstPerson != null) {
firstPerson.FirstName = "John";
ctx.SaveChanges();
}
}
}
}
위의 코드에서 "DbConnectionString"인수를 사용하여 Context 인스턴스를 만들었습니다. 이것은 app.config
파일에서 다음과 같이 지정해야합니다.
<connectionStrings>
<add name="DbConnectionString"
connectionString="Data Source=.;Initial Catalog=ExampleDatabase;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow