1

私は最初のWebアプリケーションを作成していて、最初にEF5.0コードを学習しようとしています。私はこの2日間をグーグルとMSDNでこのようなものを機能させる方法を見つけようとして過ごしましたが、どれも初めての学習者向けではありません。それで、誰かが私が間違っていることでコード例を使用して私を助けてくれますか?アプリをデバッグで実行すると、DBが作成されません。VS2012のパッケージマネージャーから移行を構成しようとすると、「データベースからプロバイダー情報を取得中にエラーが発生しました」というエラーが表示されます。打撃は私の「table」.csファイル、Context.csとweb.configです。私が読んだすべてのものから私が見ることができるものから、私は何も見逃していません。

table.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace FFCollection.DAL
{
    public class Item
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public Int16 ItemID { get; set; }

        [Required(ErrorMessage = "Item Name is required.")]
        [Column("ItemName")]
        public string Name { get; set; }

        public Int16 RegionID { get; set; }
        public virtual Region Region { get; set; }
    }
}

Context.cs:

using System.Data.Entity;

namespace FFCollection.DAL
{
    public class FullContext : DbContext
    {
        public FullContext() : base("FFCollection") { }

        public DbSet<Item> Items { get; set; }
    }
}

web.confg:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <connectionStrings>
    <add name="CollectionDB"
          connectionString="Data Source=192.198.0.2; Initial Catalog=FFColection; User ID=; Password=!" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.5" />

    <customErrors mode="Off" />

    <httpRuntime targetFramework="4.5" />
  </system.web>
</configuration>

この場所は、長年の経験を持つ本当に経験豊富な人々が質問をするためだけのものであることを知っていますが、私がどこを向いても助けにはならず、道に迷っています。ジャンプする場所について本当に助けが必要です。誰かがDBが作成されていない理由を理解するのを手伝ってくれるなら、最初のEF5.0のコードの実験を続けることができます

4

2 に答える 2

0

これを試してください:

<add name="FFColection"
      connectionString="Data Source=192.198.0.2;
                        Initial Catalog=FFColection;
                        User ID=; Password=***;MultipleActiveResultSets=True" 
      providerName="System.Data.SqlClient"/>

コンストラクターbase("FFCollection")は、string引数を完全な接続文字列として受け取るか、構成ファイル内の接続文字列の名前を取ります。したがって、コンストラクターと名前では「FFColection」である必要があります。

サーバーのアドレスが十分でない可能性があります。次のように、SQL Serverインスタンスの名前を追加する必要がある場合があります192.198.0.2\sql2008(データベースマシンのSQL Server Management Studioに確認してください)。

于 2012-11-24T15:47:23.637 に答える
0

コードが記述された問題は、EFがデータベースに最初にアクセスしようとするまでデータベースを作成しないことです。そのため、DBにアイテムを追加するために、index.aspxページに少しコードを追加する必要がありました。これにより、データベースが作成されました

于 2012-11-24T17:39:54.097 に答える