2012-07-07 2 views
0

Entity Framework를 실습 중입니다. 나는 Razor Engine과 EF Code First를 사용하여 Asp.net MVC 프레임 워크를 연습하고 있습니다. 그것을 연습하면서 나는 거의 문제가없는 것으로 나타났습니다. 문제는 Entity Framework가 SQL에 데이터베이스를 생성하지 않는다는 것입니다. MSSQL 2008에서 VisualStudio 2011 Beta 버전을 사용하고 있습니다. 문제가 무엇인지 알 수 없습니다. 도움말이 필요합니다. 아래 코드는 다음과 같습니다.Razor Engine과 EF를 사용하여 MVC 응용 프로그램 만들기 CodeFirst

Person.cs 

using System; 
using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 
using System.Linq; 
using System.Text; 

namespace MvcDemo.Data 
{ 
    public class Person 
    { 
     [Key] 
     public int PersonID { get; set; } 

     [Required] 
     [StringLength(40)] 
     public string FirstName { get; set; } 

     [Required] 
     [StringLength(30)] 
     public int LastName { get; set; } 

     public int? Age { get; set; } 

     [ForeignKey("PrefixID")] 
     public Prefix Prefix { get; set; } 


     [Required] 
     public int PrefixID { get; set; } 

    } 
} 

    Prefix.cs 

using System; 
using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 
using System.Linq; 
using System.Text; 

namespace MvcDemo.Data 
{ 
    public class Prefix 
    { 
     public int PrefixID { get; set; } 

     [Required] 
     [StringLength(20)] 
     public string PrefixName { get; set; } 
    } 
} 

MvcContext.cs 

using System; 
using System.Collections.Generic; 
using System.Data.Entity; 
using System.Linq; 
using System.Text; 
using MvcDemo.Data; 


namespace MvcDemo.DataAccess 
{ 
    public class MvcContext : DbContext 
    { 
     public MvcContext() 
      : base("name = MvcDemoApp") 
     { 
     } 
     public DbSet<Person> People { get; set; } 

     public DbSet<MvcDemo.Data.Prefix> Prefix { get; set; } 

    } 
} 

ConnectionString: 
<connectionStrings> 
    <add name="MvcDemoApp" 
     connectionString="Server=.;Initial Catalog=MvcDemoApp;Integrated Security=true" 
    providerName="System.Data.SqlClient" /> 

답변

1

이것이 모든 코드라면 데이터베이스가 작성되지 않은 것은 놀라운 일이 아닙니다. 데이터베이스에 대해 명령을 실행하는 코드는 없습니다. 예를 들어 반복 재생을 시작하면 MvcContext.People 또는 일부 삽입을하면 데이터베이스가 만들어 짐을 알 수 있습니다.

0

이렇게하려면 패키지 관리자 콘솔을 사용해야합니다.

Ope 패키지 관리자 콘솔 창을 실행하고 "update-database"명령을 실행해도이 명령에는 버그가 있으므로 계속 실행하려면 "startupprojectname"매개 변수를 지정하고 DbContext 파일에서는 연결 문자열을 지정해야합니다.

+0

글쎄, 난 패키지 관리자 콘솔을 찾을 수 없습니다 : /는 VS 2012 베타 .. –

+0

내가 그것을 발견! 하하 미안 해요 –

+0

하지만 내 문제를 해결 couldnt. 문제는 남아있다! –

1

온라인으로 많은 단계별 예제가 있습니다. 나는 그들 중 하나를 골라 내고 걷기를 할 것이다. 예를 들어 http://msdn.microsoft.com/en-us/data/gg685467.aspx과 같이 시도해 볼 수 있습니다. 그것은 당신을 시작하게하는 기초의 대부분을 포함해야합니다.

텍스트를 통해 비디오를 선호하는 경우

, Channel 9을 검색하거나 pluralsight

관련 문제