ASP.NET在使用EF时遇到的“无效操作 连接被关闭”问题的摸索

今天第一次使用EF来完成一个数据集的查询,磨磨唧唧查了半天资料,扣了半天代码,总算能正常运行了,于是我就想把这个方法用到我原来项目里面去,原项目是带工厂层的结构,于是乎我在DAL层写成了

public class zycsw_cms : DbContext, INews_EF
    {        
        pritave DbSet<News> News {get;set; }

        public List<Model.News> GetReadMore(string key)
        {
           
                zycsw_cms z = new zycsw_cms();
                List<Model.News> news = ((from p in z.News
                            where p.ReadMore == key.Trim()
                            orderby p.NewsId descending
                            select p).Take(10)).ToList();
                return news;
               
        }         
    }

然后,就一直出错,前台返回不了数据,一直提示参数为null。

跟踪调试了半天,也没有看到效果,只看到错误信息是“ServerVersion = “(((System.Data.Entity.DbContext)(z)).Database.Connection).ServerVersion”引发了“System.InvalidOperationException”类型的异常”.

百度了半天也没找到原因,后来想到测试正常的时候pritave DbSet<News> News {get;set; }是public的,于是乎换成了public结果就正确了。

却找不到为何要声明成public的原因。

哪位高手能给讲讲或者给个资料看看。

非常感谢。



你可能感兴趣的:(ASP.NET在使用EF时遇到的“无效操作 连接被关闭”问题的摸索)