Entity Framework
데이터베이스의 첫 번째 모델 생성
수색…
데이터베이스에서 모델 생성하기
Visual Studio
Solution Explorer
로 이동 한 다음 모델을 추가 할 Project
를 마우스 오른쪽 버튼으로 클릭합니다. ADO.NET Entity Data Model
선택
그런 다음 선택 Generate from database
클릭 Next
클릭 한 다음 창에 New Connection...
당신의 모델을 생성 할 데이터베이스 및 지점 (수 있을까 MSSQL
, MySQL
또는 Oracle
)
이 작업을 완료 한 후 Test Connection
클릭하여 제대로 연결을 구성했는지 확인하십시오 (여기에서 실패 할 경우 더 이상 진행하지 마십시오).
Next
을 클릭하고 원하는 옵션을 선택하십시오 (엔티티 이름을 생성하거나 외래 키를 추가하는 스타일).
다시 Next
클릭하십시오. 이때 데이터베이스에서 모델을 생성해야합니다.
생성 된 모델에 데이터 주석 추가하기
Entity Framework 5 이상에서 사용되는 T4 코드 생성 전략에서 데이터 주석 특성은 기본적으로 포함되지 않습니다. 모든 모델 재생성의 특정 속성 위에 데이터 주석을 포함하려면 EDMX에 포함 된 템플릿 파일 ( .tt
확장명)을 열고 다음과 같이 UsingDirectives
메소드에 using
문을 추가하십시오.
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>
(itemCollection))
{
fileManager.StartNewFile(entity.Name + ".cs");
BeginNamespace(code);
#>
<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
using System.ComponentModel.DataAnnotations; // --> add this line
예를 들어, 템플릿에 기본 키 속성을 나타내는 KeyAttribute
가 포함되어 있다고 가정합니다. 삽입하려면 KeyAttribute
모델을 재생 자동으로하면서, 포함 된 코드의 일부 찾을 수 codeStringGenerator.Property
아래와 같이를 :
var simpleProperties = typeMapper.GetSimpleProperties(entity);
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
#>
<#=codeStringGenerator.Property(edmProperty)#>
<#
}
}
그런 다음 if 조건을 삽입하여 다음과 같이 키 속성을 확인하십시오.
var simpleProperties = typeMapper.GetSimpleProperties(entity);
if (simpleProperties.Any())
{
foreach (var edmProperty in simpleProperties)
{
if (ef.IsKey(edmProperty)) {
#> [Key]
<# }
#>
<#=codeStringGenerator.Property(edmProperty)#>
<#
}
}
위의 변경 사항을 적용하여 생성 된 모든 모델 클래스는 데이터베이스에서 모델을 업데이트 한 후 기본 키 속성에 KeyAttribute
를 갖 KeyAttribute
.
전에
using System;
public class Example
{
public int Id { get; set; }
public string Name { get; set; }
}
후
using System;
using System.ComponentModel.DataAnnotations;
public class Example
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}