1

我正在编写我的第一个 Web 应用程序,并尝试先学习 EF 5.0 代码。在过去的两天里,我在谷歌和 MSDN 上试图弄清楚如何让这些东西发挥作用,但这些东西都不是真正适合第一次学习的人。那么有人可以帮我使用代码示例来说明我做错了什么吗?当我在调试中运行我的应用程序时,没有创建任何数据库,当我尝试从 VS2012 的包管理器配置迁移时,我收到一条错误消息,提示“从数据库获取提供程序信息时发生错误”。打击是我的“table”.cs 文件,Context.cs 和 web.config。从我读过的所有东西中可以看出,我没有遗漏任何东西。

表.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; }
    }
}

上下文.cs:

using System.Data.Entity;

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

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

网络配置:

<?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>

我知道这个地方应该只适合真正有经验的人,他们有多年的经验可以提出问题,但我转向的地方没有帮助,我迷路了,所以请我真的需要一些关于跳到哪里的帮助。如果有人可以帮助我弄清楚为什么没有创建数据库,我可以继续我的代码实验 EF 5.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")将字符串参数作为完整的连接字符串或配置文件中的连接字符串的名称。所以它应该是构造函数和名称中的“FFColection”。

可能是服务器地址不够。您可能必须附加 sql server 实例的名称,例如192.198.0.2\sql2008(与数据库计算机上的 Sql Server management studio 核对)。

于 2012-11-24T15:47:23.637 回答
0

编写代码的问题是 EF 在第一次尝试访问它之前不会创建数据库。所以我不得不在我的 index.aspx 页面中添加一些代码来尝试将一个项目添加到数据库中。这导致它创建数据库

于 2012-11-24T17:39:54.097 回答