0

私はEntity Frameworkを実践しています。Razor Engine と EF Code First を使用して、Asp.net MVC フレームワークを実践しています。実践してみると、ほとんど問題がないことがわかりました。問題は、Entity Framework が SQL でデータベースを作成しないことです。MSSQL 2008 で VisualStudio 2011 ベータ版を使用しています。何が問題なのかわかりません。ヘルプが必要です。以下は私のコードです:

    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" />
4

3 に答える 3

1

ステップバイステップの例がオンラインでたくさんあります。私はそれらの 1 つを選んで、ウォークスルーを行います。たとえば、http://msdn.microsoft.com/en-us/data/gg685467.aspxを試すことができます。作業を開始するための基本事項のほとんどをカバーしている必要があります。

テキストよりもビデオを好む場合は、Channel 9を検索するか、pluralsightを検索してください

于 2012-07-09T20:56:31.507 に答える
1

これがすべてのコードである場合、データベースが作成されないことは驚くべきことではありません。データベースに対してコマンドを実行するコードはありません。たとえば、繰り返しを開始しMvcContext.Peopleたり、挿入を実行したりするとすぐに、データベースが作成されることに気付くでしょう。

于 2012-07-09T20:29:17.020 に答える
0

これを行うには、パッケージ マネージャー コンソールを操作する必要があります。

パッケージ マネージャー コンソール ウィンドウを開き、「update-database」コマンドを実行します。このコマンドにはまだバグがあるため、「startupprojectname」パラメーターを指定して実行し、DbContext ファイルで接続文字列を指定する必要があります。

于 2012-07-08T10:47:31.057 に答える