1

레거시 시스템에서 .NET MVC 및 Entity Framework를 사용하여 웹 기반 시스템을 개발하고 있습니다. 난 레거시 데이터베이스를 유지하고 응용 프로그램 만 개발하므로 데이터베이스 첫 번째 접근 방식을 사용하여 엔터티 클래스를 만들 것입니다.데이터베이스 첫 번째 엔터티 프레임 워크

내 관심사는 엔티티 클래스에서 필자는 필터 속성과 같은 속성을 추가 할 것입니다. 그리고 거기에 몇 가지 추가 필드를 추가 할 수 있습니다. 데이터베이스가 자동으로 업데이트됩니까? 나는 실제로 데이터베이스를 전혀 업데이트하고 싶지 않습니다. 난 단지 엔티티 클래스와 함께 머물 여분의 물건을 원한다.

답변

2

먼저 "코드 우선"방식으로 데이터베이스를 작성한 다음 응용 프로그램의 백엔드 쪽에서 작업을 시작할 수 있습니다. Entity framework

+0

감사 :

public partial myClass(){ public string myDBProperty; } 

당신처럼 같은 네임 스페이스에 두 번째 클래스를 만들 수 있습니다 의미합니다! 메타 데이터 클래스는 완벽한 솔루션이라고 생각합니다. – DennisL

1

먼저 엔티티 클래스에 추가 속성을 추가 할 때 EF에 대한 표시를 무시하고 [ NotMapped] 속성 또는 DbContext 클래스에서 .Ignore 속성을 호출합니다. Not Mapped Attribute

둘째, EF로 데이터베이스를 변경하면 몇 가지 작업을 수행 할 수 있습니다. 1. 데이터를 업데이트하는 계정에 환경의 만들기, 변경 등의 권한이 없는지 확인하십시오. 2. 응용 프로그램 시작 부분에 null 데이터베이스 초기화 프로그램을 사용하십시오. Database.SetInitializer (null); 이니셜 라이저를 null로 설정하면 EF가 데이터베이스를 변경하지 않도록 지시합니다. Turn off DB Initializer

+0

답장을 보내 주셔서 감사합니다. EF에서 데이터베이스를 변경하는 것을 원하지 않는다고 말했을 때 실제로 데이터베이스 구조를 변경하지 말라는 의미였습니다. 그러나 EF insert가 데이터베이스에 항목을 기록하는 것은 완벽합니다. – DennisL

+0

예를 들어 엔티티 클래스에 필드 나 관계를 추가 할 경우이 새로운 것들을 클래스에만 유지하고 싶습니다. 엔티티 클래스가 자동으로 데이터베이스 테이블을 업데이트하는 것을 원하지 않습니다. – DennisL

+0

레거시 시스템에 여전히 연결되어있는 데이터베이스로 작업하고 있습니다. 그래서 저는 신중해야하고 데이터베이스 구조를 전혀 변경하지 않기를 원합니다. – DennisL

0

아마도 부분 클래스 사용을 고려해야합니다. EF에서 아무 것도 편집하지 못했습니다. 당신의 DB에서

EF 클래스는 모두 : 공유 링크에 대한

public partial myClass(){ 
    public string myOwnProperty; 
}