错误 - 无法找到请求的.net框架数据提供程序

时间:2014-10-15 13:23:04

标签: c# asp.net-mvc entity-framework connection-string

我已经在堆栈溢出和网络上找到了关于这个主题的大量信息,但似乎没有任何帮助。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;


namespace GeoCode.Models
{
    public class address
    {
     [Key]
     public int ARENA_ID { get; set; }
     public string ADDRESS1 { get; set; }
     public string CITY { get; set; }
     public string ZIP { get; set; }
     public decimal COUNTRY { get; set; }

 }

 public class latlng
 {
     [Key]
     public int ARENA_ID { get; set; }
     public string LAT { get; set; }
     public string LNG { get; set; }
 }

 public class GeoCodeDBContext : DbContext
 {
     public DbSet<address> WEB_ARENA { get; set; }
     public DbSet<latlng> WEB_ARENA_GEO { get; set; }
 }
}

当我使用此模型使用实体框架创建具有读/写操作和视图的类时,我收到错误,&#34;无法找到请求的.net框架数据提供程序。它可能没有安装。&#34;

我的连接字符串是:

 <add name="GeoCodeDBContext"
 connectionString="server=********;database=*****;uid=*****;pwd=******"
 providerName="System.Data.SqlServer"/>

2 个答案:

答案 0 :(得分:2)

提供商providerName="System.Data.SqlServer"不存在。它应该是providerName="System.Data.SqlClient"

请参阅ProviderName上的文档。可能很高兴知道System.Data.SqlClient实际上是默认值,因此您甚至不需要为providerName提供值。

答案 1 :(得分:1)

您在连接字符串中指定了错误的提供程序。 System.Data.SqlServer不是提供者。试试这个:

<add name="GeoCodeDBContext"
     connectionString="..."
     providerName="System.Data.SqlClient"/>