【发布时间】:2013-09-24 04:33:25
【问题描述】:
我正在使用 Entity Framework 的代码优先方法创建表,我需要检查数据库中是否有需要删除的实体:
class MyDocument
{
public string Id { get; set; }
public string Text { get; set; }
}
class MyContext : DbContext
{
public DbSet<MyDocument> Documents { get; set; }
}
using (var data = new MyContext())
{
var present = from d in data.Documents
where d.Id == "some id" || d.Id == "other id"
select d;
// delete above documents
}
在第一次运行时,当还没有表时,上面的 LINQ 表达式会抛出异常:
Invalid object name 'dbo.Documents'
如何检查表是否存在,如果不存在,则将present 设置为空集,也许?或者也许有一种方法可以在我发出 LINQ 查询之前强制创建数据库/表?
【问题讨论】:
标签: linq entity-framework ef-code-first