Entity Framework Code First - T-SQL 浏览量
Entity Framework Code First - T-SQL Views
我正在我的配置 Seed
上创建 SQL View
protected override void Seed(QuiverContext context)
{
context.Database.ExecuteSqlCommand(DatabaseScripts.Views.MyView);
}
现在我想在我的 DbContext
中添加一个 DBSet
来代表我的 View
。 I read that one can do this 然后像常规 table 一样使用 Entity
。
所以我尝试了,但它要求我添加一个我所做的迁移,但是在创建视图时 update-database
命令失败,因为首先创建了 table。
您似乎正试图在 Seed 方法中创建视图。这不是创建视图的方法(记住每次运行任何迁移时都会运行种子方法)。
更好的方法是添加迁移。这将创建一个包含 CreateTable 行的代码文件,这将使您的 table。只需删除这些行,并用创建视图的调用替换它们。
您可以使用 Sql
命令在迁移中执行自定义 Sql,例如...
Sql("CREATE VIEW myView.....");
如果你想让事情变得更健壮,你可以create an extension for migrations它允许你调用 CreateView。
我正在我的配置 Seed
View
protected override void Seed(QuiverContext context)
{
context.Database.ExecuteSqlCommand(DatabaseScripts.Views.MyView);
}
现在我想在我的 DbContext
中添加一个 DBSet
来代表我的 View
。 I read that one can do this 然后像常规 table 一样使用 Entity
。
所以我尝试了,但它要求我添加一个我所做的迁移,但是在创建视图时 update-database
命令失败,因为首先创建了 table。
您似乎正试图在 Seed 方法中创建视图。这不是创建视图的方法(记住每次运行任何迁移时都会运行种子方法)。
更好的方法是添加迁移。这将创建一个包含 CreateTable 行的代码文件,这将使您的 table。只需删除这些行,并用创建视图的调用替换它们。
您可以使用 Sql
命令在迁移中执行自定义 Sql,例如...
Sql("CREATE VIEW myView.....");
如果你想让事情变得更健壮,你可以create an extension for migrations它允许你调用 CreateView。