Entity framework 实体框架核心和UWP中的删除表
我正在学习UWP的实体框架。我试图通过从DbContext中删除一个表来删除它。在迁移后运行代码时,我收到一个错误,即UWP不支持删除主键。 本文建议使用sql(字符串)方法。 这篇文章,有一个例子,我正试图遵循Entity framework 实体框架核心和UWP中的删除表,entity-framework,uwp,code-first,Entity Framework,Uwp,Code First,我正在学习UWP的实体框架。我试图通过从DbContext中删除一个表来删除它。在迁移后运行代码时,我收到一个错误,即UWP不支持删除主键。 本文建议使用sql(字符串)方法。 这篇文章,有一个例子,我正试图遵循 using (var context = new BloggingContext()) { var blogs = context.Blogs.SqlQuery("SELECT * FROM dbo.Blogs").ToList();
using (var context = new BloggingContext())
{
var blogs = context.Blogs.SqlQuery("SELECT * FROM dbo.Blogs").ToList();
}
我找不到参考资料。
我喜欢使用sql语句的想法。
在另一篇stackoverflow文章中,我不明白:“在[DateStamp]\u InitialCreate.cs类的Down方法中编写DropTable语句,表将被删除”。这与我的问题有关。如果是,我如何实施它。
多谢各位
我试图通过从DbContext中删除一个表来删除它
您可以使用db.Database.ExecuteSqlCommand
删除表:
//you have to use this namespace
using Microsoft.EntityFrameworkCore;
using (var db = new BloggingContext())
{
db.Database.ExecuteSqlCommand("DROP TABLE [Blogs]");
}
我不明白:“在[DateStamp]\u InitialCreate.cs类的Down方法中编写DropTable语句
\uuu.cs
是通过您的迁移生成的(添加迁移迁移迁移名称)。您可以在迁移文件夹下找到它。在此类文件中,您可以找到方法
每次调用db.Database.Migrate()
(通常在App.xaml.cs
文件中)。SQLite将检查表\uuuu EFMigrationsHistory
以查看是否已执行\uuuuu.cs
文件。您可以修改以下文件中[Migration(“)]
的时间戳以再次手动执行迁移:
此外,您还可以根据需要修改内部代码以进行迁移