刚刚在我的博客上发现了一些实时错误,我不清楚它们为什么会发生。如果你想看到完整的大丑消息,请转到here
给我这个问题的代码是:
NerdlyContext db = new NerdlyContext();
public IEnumerable<Post> GetIndexPage(int? page)
{
int pageSize = 5;
int pageNumber = (page ?? 1);
var posts = from p in db.Posts
where p.Published == true && p.Archived == false
orderby p.DateCreated descending
select p;
var result = posts.ToPagedList(pageNumber, pageSize);
return result;
}
我试着看看测试是我做了一个快速的db.Posts.FirstorDefault(),看它是否有任何东西,但似乎它根本没有击中我的数据库。我在SSMS中打开了数据库,所有数据都是一样的。我在discountasp.net上托管并重新复制确切的连接字符串,以确保没有意外更改。还是行不通。我最近发生的唯一更改是我尝试添加更多dbset项目,但是通过包管理控制台上的错误,所以我解除了所有更改,重建了解决方案,现在我得到了这个..
深入研究实例化我的DbContext时,它说更改跟踪器会抛出错误。
答案 0 :(得分:1)
您的连接字符串是否正确?
您可以设置断点并检查db.Posts吗?您应该能够深入查看查询和连接字符串。也许这可以指出你正确的方向。
答案 1 :(得分:1)
可能是连接字符串的问题。您是否在DBContext类的构造函数中指定了连接字符串,如下所示:
public class YourContext : DbContext
{
public YourContext () : base("YourConnection")
{
}
//DBSets here
}
“YourConnection”在web.config中设置:
<connectionStrings>
<add name="YourConnection" providerName="System.Data.SqlClient" connectionString="....." />
</connectionStrings>
答案 2 :(得分:0)
好吧,所以我和你们所有人都认为这是一个连接字符串问题。那些都很好。
那么为什么它现在有用呢?我没有一点该线索......