Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架核心和UWP中的删除表_Entity Framework_Uwp_Code First - Fatal编程技术网

Entity framework 实体框架核心和UWP中的删除表

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();

我正在学习UWP的实体框架。我试图通过从DbContext中删除一个表来删除它。在迁移后运行代码时,我收到一个错误,即UWP不支持删除主键。 本文建议使用sql(字符串)方法。 这篇文章,有一个例子,我正试图遵循

   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(“)]
的时间戳以再次手动执行迁移:

此外,您还可以根据需要修改内部代码以进行迁移