2014-06-23 3 views
0

메신저를 찾고 있는지, 내가 지금까지 보았던 모든 것이 실제로 실제로 들여다 보일 때까지 작동하는 것처럼 보입니다. 여기 뇌에서 몇 가지 포인터가 필요합니다. 나는 ASP.NET MVC EF5 SQL2012 프로젝트를 작업 중입니다. 우리는 먼저 코드가 아닌 모델 세트를 가지고 있습니다. 엔티티는 디자이너를 사용하여 만들어졌으며 지금 당장은 모든 것이 잘 작동합니다. 그러나, 우리는이 설치 스크립트를 가지고 있습니다 ... (내가 본 것 중 뒤얽힌) 나는 그것을 자동화 된 것으로 가져 가야합니다. 지금은 설치 스크립트가 테이블에 데이터를 미리 채 웁니다. look ups, reference 등등.이 스크립트를 실행하지 않고도 이것을 자동화하는 방법을 찾고 있습니다. 데이터베이스와 테이블을 자동으로 생성합니다. 내가 읽은 모든 기사는 트릭 (마이그레이션, 시드 등)을 수행하는 것으로 보이지만 고려하지 않는 한 가지는 서비스를 연합합니다. 따라서 실제 EDMX는 WCF Dataservice 5.6에 있습니다. 모델에 액세스 할 수 있지만 WCF 서비스는 해당 모델에 시드가없는 DataServiceContext를 노출합니다. 나는 여기에 맞는 것들을보고 있는가? 또는이 혼동 된 설치 스크립트 (All C# Driven)가있는 유일한 옵션입니다. 이 웹 사이트는 이것에 해를 끼쳤습니다 : http://www.entityframeworktutorial.net/code-first/seed-database-in-code-first.aspx뿐만 아니라 : Auto Create Database Tables from Objects, Entity Framework하지만 WCF 5.6 이상을 어떻게 사용할 수 있는지 보지 못했습니다.페더레이션 서비스 구현을 사용하는 Entity Framework

답변

0

짧은 대답은 당신이 SQL 스크립트를 사용하고자하기 때문에 모델 먼저 당신에게 시드 방법을 제공하지 않는다는 것입니다,하지만 당신은 몇 가지 선택이 있습니다

  1. 사용 EF PowerTools에서 (또는 VS2013의를 EF Designer)를 사용하여 DB에서 "코드 우선"모델을 생성하십시오. 이렇게하면 DB를 시드 할 수 있으며 모든 것이 어떻게 작동하는지보다 미세하게 제어 할 수 있습니다.

  2. 함께 시드하려면 SQL 스크립트를 사용하십시오. 일반적으로 스키마를 변경하면 재 작성 DB 스크립트가 다시 실행됩니다. 별도의 스크립트를 작성하여 DB를 채우고 편리하게 유지하십시오. SQL보다 코드가 편하다고 느낄 경우 콘솔 앱 (또는 원하는 유형의 앱)을 만들고 스키마로 최신 상태로 유지할 수 있습니다.

  3. 당신이 필요로하는 것이 모두 시드 데이터이고, 서비스 소비자에게 메소드를 노출시키는 훌륭한 비즈니스 케이스가 있다면 Model-First를 유지하고 DB를 시드하는 저장 프로 시저를 작성한 다음 EF 기능. 그러면 그때 때문에 당신이 진짜 데이터를 얻을 더 세밀하게 제어의 코드 - 일층를 사용하여, VS 2013의 EF6 POCO 생성기를 사용하여 자신을 DB를 설계하는쪽으로 경향이

개인적으로 당신의 WCF 서비스에서이 노출 될 수 있습니다 수업. 그런 다음 정리 작업을하고 시드 메서드 등을 작성하십시오.

+0

WCF Data Services 5.6을 사용하면서 "고려 중"이고 아직 완전히 커밋되지 않은 상태 일뿐입니다 ... WebApi 대신. AFAIK, Microsoft는 WCF Data Services에 대한 개발을 5.6으로 급하게 떨어 뜨 렸으며 WebApi가 대신했습니다. WCF 데이터 서비스에서 몇 가지 버그와 심각한 제한 사항을 찾은 후에 만 ​​알게되었습니다. 나는 WebApi에서 많은 버그를 발견했으나 알려진 문제점이었고/계획된 수정 날짜가있었습니다. – ChrisG

관련 문제