네 번째 파트입니다.
Code First : 우리 말로 표현하면 "선행 코드"라 할 수 있습니다. 코드를 먼저 작성하고 DB를 연결한다?. Code first는 Entity Framework 4.1 버전의 새로운 코팅스타일 입니다. 간단히 말하면 "Code First = DbContext"라고 정리하면서 배워가겠습니다.(4시간 소요했음)
아래의 문제로 인하여 일주일을 소모 했으며, 일단의 문제가 해결되어 4장 부터 다시 되집어 갑니다...
Windows 7 64bit explorer 8에서 https:// 페이지 연결 안됨
마이크로 소프트 및 다른 사이트의 로그인 페이지는 정상적으로 페이지가 보여집니다.
하지만 http://www.microsoft.com/web 의 로고인 사이트인 https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=28d3b98d-cb7c-4682-b483-a3cae5705372&lcid=1033&fu=http%3a%2f%2fwww.microsoft.com%2fweb%2fdefault.aspx%3f&cu=http%3a%2f%2fwww.microsoft.com%2fweb%2fdefault.aspx 에 진입하려 하면
"페이지를 찾을 수 없습니다"고 합니다. 시스템 다시 깔고, 포멧하고, 다시 해 보아도 해결이 되지 않습니다.
컴퓨터는 windows 7 ultimate k 64bit 서비스팩1입니다. 옆에 컴퓨터는 xp이고 explorer 7이며, 모든 것이 잘 됩니다.
급합니다. 그리고 감사합니다.
그리고 explorer 8의 문제해결에 관하여 제안된 모든 사항을 점검했슴에도 불구하고 단지 나아진 것은 '페이지을 표시할 수 없습니다'라는 문구가 나오지 않은 뿐 여전히 진입이 되지 않습니다.
아! 한 가지 바뀐 것은 다른 사이트(예; MSDN등)에서 로긴하고 상기 사이트에 들어가면 '환영합니다. jungw'라고 로그인이 되어 있스며 다음 하위 사이트를 무사이 서핑할 수 있습니다. 그러나 다시 로그아웃하고 다시 로긴 하면 넘긴 페이지(로긴페이지)가 나오지 않고 여전히 자기 페이지를 가리키고 있네요.
넘, 심각한 상황 아닌가요?????
계속해서 포럼에 올라온 해결 방안에 따라서 조치를 해보았습니다.
http://www.microsoft.com/web/ 웹서핑 결과:
1.상단의 로그인 페이지에 진입하면 < https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=28d3b98d-cb7c-4682-b483-a3cae5705372&lcid=1033&fu=http%3a%2f%2fwww.microsoft.com%2fweb%2fdefault.aspx%3f&cu=http%3a%2f%2fwww.microsoft.com%2fweb%2fdefault.aspx > ==>.<http://www.microsoft.com/web/?> 상기 로그인 페이지 주소가 사라지고 끝에 물음표<?>가 하나 생겼습니다. "페이지를 표시할 수 없습니다"는 문구는 사라지고 페이지가 오픈 되지만 리다이렉션을 일으켜 현재 페이지로 다시 돌아옵니다
2. 본문 페이지의 중앙 박스 "예 등록하겠습니다"를 누르면 주소창이 정신없이 리플렉션하면서 깜빡거리며 진입을 시도하지만 들러가지 못합니다. 결국 Http/1.1 NS Internal Server Error 11 띄우네요.
"이 오류(HTTP 500 내부 서버 오류)는 방문한 웹 사이트의 서버에 문제가 있어 웹 페이지가 표시되지 않음을 의미합니다.
3. 하위 사이트로의 진입 되지만(https://www.microsoft.com/web/websitespark/networkpartner/signup.aspx) 이 페이지 안에서 다시 로그인 사이트로 진입하려면 제자리로 돌아올 뿐입니다.(안전하게 제공된 콘텐츠만 보시겠습니까? 이 웹페이지는 보안 Https 연결을 사용하여 제공할 수 없는 콘텐츠를 포함하고 있어 전체 웹페이지를 손상시킬 수 있습니다. "예" 또는 "아니오"를 누릅니다) 주소창의 색상도 녹색을 뛰움니다. 그리고 주소창의 인증서도 안전하다고 나옴니다.
4.본문의 좌측(박스 옆)에 텍스트 "여기에서 등록하십시오"를 클릭하면 하위 로그인 페이지가 열립니다. 다시 로긴을 시도하면 위와 같은 결과가 나옵니다.
5일을 밤낮으로 이리하다보니 지쳐갑니다. 제가 놀면서 이러는 것 아니거든요.....
고수님들의 해결방안을 부탁합니다.
감사합니다.
문제를 계속 확인해 나가봅니다.
5. http://www.microsoft.com/web/ 에서 본문에 있는 링크 ASP.NET MVC를 클릭하여 들러간 페이지에서 http://www.asp.net/downloads 를 클릭하고 본문중의 두 번째 링크 박스인 Professional Software at No Cost for 3 years 의 링크박스 Learn More.. 를 클릭하여 들어가면, 주소창에 http://www.microsoft.com/WEB/websitespark/ 가 표시되고 여기에서 로그인을 다시 하면, 로그인 창이 뜨면서 저의 계정이 올라와 있음니다. 다시 패스워드를 넣으면 원위치로 돌아가 버리네요.
이틀 전 마이크로 한국 본사에 전화를 걸어 상담을 했었고 다시 외국의 상담 전화를 넘겨 받아 1시간 동안 상담을 해 보았지만 문제 해결은 되지 않았습니다. 저는 이러한 로그인의 문제가 MS사이트가 아니라면 이렇게 고생하며 문제를 찾으려 하지 않았을 것입니다. 하지만 상기 사이트는 MS 사이트이고 Explorer 8 또한 MS의 중요한 어플이기에 문제가 제 컴퓨터에 있다고 보고 이렇게 찾고 있습니다만.... 컴퓨터를 몇 번을 포맷하고 다시 설치하는 엄청난 시간을....
답답합니다. 무엇이 문제인지...
문의하신 내용은 Answers 커뮤니티에서 지원해드릴 수 있는 내용이 아닌 듯합니다.
전문 엔지니어의 상세한 기술지원이 필요할 수 있으니 마이크로소프트 기술지원 1577-9700(내선 3-1)으로 문의하시기 바랍니다.
참고 Internet Explorer 점검
|
해결된 사항
상기의 문제는 해결되었습니다.
도움에 응답해 주셔서 감사합니다. 하지만 도움글에 나와 있는 내용은 몇 번은 해 보아도 해결되지 않았습니다.
추가로 시도한 작업은 VisualStudio Professional 정본을 구입해 설치했으며, SQL에 관한 모든 것을 지우고 Subscription의 내계정의 WebsiteSpark계정에서 SQL를 다운받아 다시 설치했습니다. 그렇게 하니 SQl과 VS의 통신 장애도 해결이 되었고 상기의 웹사이트 로그인 문제도 해결되었습니다.
자세한 것은 모르겠으나, VisualStudio Web Developer, VisualStudio Professional 트라이얼, SQL Express 등의 복잡한 권한이 얽힌 것 같습니다. 결론적으로 Express버전과 트라이얼 버전이 정본과 같지 않은 어떠한 얽힘으로 결속되어있다는 느낌이 드는군요. 트라이얼를 배보하고 또한 무료버전인 Express버전을 배포할 때 그러한 복잡한 얽힘으로 가난한 MS 사용자가 겪는 비애가 아니었으면 하는 마음이 간절할 뿐입니다. |
에구~ 돈이 무섭지요잉! |
Adding a Model : 모델 추가
In this section we'll add some classes for managing movies in a database. These classes will be the "model" part of our MVC application.
We’ll use a .NET Framework data-access technology known as the Entity Framework to define and work with these model classes. The Entity Framework (often referred to as “EF”) supports a development paradigm called code-first. Code-first allows you to create model objects by writing simple classes. (These are also known as POCO classes, from "plain-old CLR objects.") You can then have the database created on the fly from your classes, which enables a very clean and rapid development workflow.
이 섹션에서 우리는 데이터베이스에 영화를 관리하기위한 몇 가지 클래스를 추가합니다. 이들 클래스는 우리의 MVC 응용 프로그램의 "모델"부분이 될 것입니다. 우리는 . NET Framework의 엔터티 프레임워크로 정의되어 있는 데이터 액세스 기술과 그 모델들의 작업을 사용합니다. 엔티티 프레임 워크는(종종 "EF의"로 함) 선행코드로 불리어지는 개발 패러다임을지원합니다. 선행 코드는 간단한 클래스를 작성하여 모델 개체를 만들 수 있습니다. (이들은 또한에서 "기존의 CLR은 개체"로 부터 분류된 클래스로 알려져 있습니다 ) 그런 다음 아주 깨끗하고 신속한 개발 워크플로우를 가능하게하여 당신의 클래스로부터 제공된 데이터베이스를 생성할 수 있습니다.
Using NuGet to Install EFCodeFirst : NuGet를 사용 EFCodeFirst를 설치 방법 We'll start by using the NuGet package manager (automatically installed by ASP.NET MVC 3) to add the EFCodeFirst library to the MvcMovie project. This library lets us use the code-first approach.
우리는 MvcMovie 프로젝트에 EFCodeFirst 라이브러리를 추가하는 NuGet 패키지 관리자 (ASP.NET MVC 3으로 자동 설치)를 사용하여 시작합니다. 이 라이브러리는 code-first 접근법을 사용할 수 있습니다.
Warning: You must stop debugging before you access the NuGet package manager. If you access NuGet while you are still debugging, you'll get the error message and the Add Library Package Reference... menu item will disappear. You must then exit Visual Web Developer and restart the project.
경고 : 당신은 NuGet 패키지 관리자에 액세스하기 전에 디버깅을 중지해야합니다. 디버깅하는 동안 당신은 NuGet에 액세스하면 오류 메시지 및 추가 라이브러리 패키지를 참조하여 ... 메뉴 항목이 사라집니다. 그렇게 되면 비주얼 웹 개발자를 종료해야하고 프로젝트를 다시 시작합니다.
From the Tools menu, select Library Package Manager and then Add Library Package Reference.
도구 메뉴에서, 그리고 라이브러리 패키지 관리자를 선택한 다음 라이브러리 패키지 참조를 추가합니다.
![](https://t1.daumcdn.net/cfile/cafe/160D6E4F4D83DC2C27)
The Add Library Package Reference dialog box appears.
![](https://t1.daumcdn.net/cfile/cafe/19054E4A4D83DD6332)
By default, All is selected in the left pane. Because no packages are installed, the center pane shows No items found. Click Online in the left pane.
기본적으로 All은 왼쪽 창에 선택되어 있습니다. 패키지를 설치하지 않았기 때문에, 가운데 패널에 "항목을 찾을 수 없습니다"를 보여줍니다. 왼쪽 창에서 온라인을 클릭합니다.
![](https://t1.daumcdn.net/cfile/cafe/19432A494D83DEBB36)
NuGet queries the server for all available packages.
NuGet은 사용 가능한 모든 패키지에 대하여 서버를 쿼리합니다.
There are hundreds of packages available. We're interested in the EFCodeFirst package. In the search box, enter "EFCode". In the search results, select the EFCodeFirst package and click the Install button.
패키지 사용 가능한 수백 입니다. 우리는 EFCodeFirst 패키지에 관심이 있습니다. 검색창에서 "EFCode"를 입력합니다. 검색 결과에서 EFCodeFirst 패키지를 선택하고 설치 버튼을 누릅니다.
![](https://t1.daumcdn.net/cfile/cafe/1113864E4D83E17F30)
After the package installs, click Close. The installation process downloaded the EFCodeFirst library and added it to the MvcMovie project. The EFCodeFirst library is contained in the EntityFramework assembly.
패키지 설치 후, 닫기를 누릅니다. 설치 프로세스가 EFCodeFirst 라이브러리를 다운로드하고 MvcMovie 프로젝트에 추가됩니다. EFCodeFirst 라이브러리 EntityFramework 어셈블리에 포함되어 있습니다.
![](https://t1.daumcdn.net/cfile/cafe/2014913C4D840A473A)
Adding Model Classes : 모델 클래스 추가
In Solution Explorer, right click the Models folder, select Add, and then select Class.
솔루션 탐색기에서 마우스 오른쪽, 모델 폴더를 누르고 추가를 선택한 다음 클래스를 선택합니다.
![](https://t1.daumcdn.net/cfile/cafe/184D67344D840AD110)
Name the class "Movie".
![](https://t1.daumcdn.net/cfile/cafe/1647403C4D840BC106)
Add the following five properties to the Movie class:
무비 클래스에 아래 다섯 개의 속성을 추가합니다.
![](https://t1.daumcdn.net/cfile/cafe/144CEB544D84126D09)
We'll use the Movie class above to represent movies in a database. Each instance of a Movie object will correspond to a row within a database table, and each property of the Movie class will map to a column in the table.
In the same file, add the following MovieDBContext class:
우리는 데이터베이스의 movies를 대변하는 Movie 클래스를 사용합니다. Movie 개체의 각 인스턴스는 데이터베이스 테이블 내의 행, 그리고 테이블의 열에 매핑됩니다 무비 클래스의 각 속성에 해당됩니다. 같은 파일에서 다음 MovieDBContext 클래스를 추가합니다.
![](https://t1.daumcdn.net/cfile/cafe/174FCB554D8414CA1A)
The MovieDBContext class represents the Entity Framework movie database context, which handles fetching, storing, and updating Movie class instances in a database. The MovieDBContext derives from the DbContext base class provided by the Entity Framework. In order to be able to reference the DbContext class, you need to add the following using statement at the top of the file:
MovieDBContext 클래스는 데이터베이스에 저장, 가져오기 처리 엔티티 프레임 워크 movie 데이터베이스 컨텍스트를, 그리고 업데이트 movie 클래스 인스턴스를 나타냅니다. MovieDBContext는 엔티티 프레임 워크에서 제공하는 DbContext 기본 클래스에서 파생됩니다. 위해서 DbContext 클래스, 당신은 파일의 맨 위에 다음 using 문을를 추가할 필요가 있습니다.
using System.Data.Entity;
![](https://t1.daumcdn.net/cfile/cafe/175069554D8415261A)
This small amount of code is everything you need to write in order to represent and store the movie data in a database. Next, let’s build a new MoviesController class that we can use to display the movie data and allow users to create new movie listings.
이 작은 코드는 데이터베이스에 있는 movie 스토어, 주문 오더를 쓰기위해 요구된 모든것입니다. 다음으로, 이제 우리는 영화 데이터를 표시하고 사용자가 새 영화 목록을 만들 수 있도록 사용할 수있는 새로운 MoviesController 클래스를 구축합시다.
|