你的位置:首页 > 软件开发 > 数据库 > 配置使用EF常见的一些问题及解决方案

配置使用EF常见的一些问题及解决方案

发布时间:2015-11-09 15:00:06
提示未注册,找不到驱动程序No Entity Framework provider found for the ADO.NET provider with invariant name System.Data.SqlClient. Make sure the provider ...

提示未注册,找不到驱动程序

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file.

配置使用EF常见的一些问题及解决方案

 

这个问题比较坑,我根据上面的提示,跑到配置文件去查看,看有没有entutyFramework节点,是否注册驱动。结果按照网上的解决方案把配 置文件贴上去了还是报错,然后再查看EntityFramework.SqlServer.dll是否已经引用到数据访问层类库中,也在。这下就懵逼了, 到底上面情况,网上各种搜,比如把EntityFramework.SqlServer.dll的赋值到本地属性设为True后还是没有用,折腾了个把小 时,最后突然看了一眼bin\Debug目录,发现只有一个EntityFramework.dll文件,没有 EntityFramework.SqlServer.dll,我就瞬间释然了,原来是这样。。。

解决方案:

1.检查是否引入EntityFramework.dll 和EntityFramework.SqlServer.dll

2.检查是否设为复制到本地属性为True

3.检查配置文件是否注册驱动

如我的是sqlserver数据库

<providers><provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /></providers>
  [Key]    public int EmpId { get; set; }    /// <summary>    /// 姓名    /// </summary>    public string EmpName { get; set; }    /// <summary>    /// 性别    /// </summary>    public string Sex { get; set; }    /// <summary>    /// 生日    /// </summary>    public DateTime BirthDay { get; set; }          /// <summary>    /// 部门    /// </summary>     public int DepId { get; set; } /// <summary>    /// 关联主表    /// </summary>    [ForeignKey("EmpId")]    public Dept Dept { get; set; } //注意:ForeignKey("EmpId")中的EmpId 就是员工类的主键
配置使用EF常见的一些问题及解决方案

四、Dept部门表中必须有主键

五、调用的时候

 db.a_Emp.Include("Dept").Where(l => l.Dept.name.Contains(name)||string.IsNullOrEmpty(name)).ToList()

原标题:配置使用EF常见的一些问题及解决方案

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录