c# - 如何告诉 EF Code First 仅删除使用 DbSet 定义的表而不删除同一数据库中的其他表(Memberhisp 表)?

标签 c# asp.net-mvc-3 entity-framework ef-code-first appharbor

我将 EF Code First 与 DontDropDbJustCreateTablesIfModelChanged 结合使用。

我使用它是因为我正在部署到 Appharbor,这样只有表被删除/重新创建,而不是数据库。

在同一个数据库中,我使用 aspnet_regsql 工具为 Membership 和 Role provider 生成表。

如何让 EF Code First 从我的项目中删除/重新创建表,而不是用于成员资格/角色提供者的表?

这是我得到的错误:

Cannot use DROP TABLE with 'vw_aspnet_Applications' because 'vw_aspnet_Applications' is a view. Use DROP VIEW.
Cannot use DROP TABLE with 'vw_aspnet_Users' because 'vw_aspnet_Users' is a view. Use DROP VIEW.
Cannot use DROP TABLE with 'vw_aspnet_MembershipUsers' because 'vw_aspnet_MembershipUsers' is a view. Use DROP VIEW.
Cannot use DROP TABLE with 'vw_aspnet_Roles' because 'vw_aspnet_Roles' is a view. Use DROP VIEW.
Cannot use DROP TABLE with 'vw_aspnet_UsersInRoles' because 'vw_aspnet_UsersInRoles' is a view. Use DROP VIEW.
drop table [vw_aspnet_Applications]
drop table [vw_aspnet_Users]
drop table [vw_aspnet_MembershipUsers]
drop table [vw_aspnet_Roles]
drop table [vw_aspnet_UsersInRoles]]

最佳答案

使用您自己的自定义逻辑实现您自己的 IDatabaseInitializer 以排除这些表(或只是不包括它们) 请在此处查看示例: https://gist.github.com/895730

关于c# - 如何告诉 EF Code First 仅删除使用 DbSet 定义的表而不删除同一数据库中的其他表(Memberhisp 表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8661499/

相关文章:

c# - +CDS AT COMMAND 问题

c# - 集成测试 EF5(或 EF4x)

asp.net-mvc - MVC Entity Framework 模型未返回正确的数据

c# - 解析和插入批量数据。如何保持业绩和做关系?

c# - 如何使用表设置模型没有任何主键列

c# - 从 HTM 文件生成 MHT

c# - LINQ - 获取某个属性位于该属性类型的其他结果集中的结果

c# - 如何指定 EF 代码优先方法创建数据库的自定义文件夹路径?

c# - 无法加载文件或程序集 'SharpSvn' 或其依赖项之一。试图加载格式不正确的程序

c# - 我的下拉列表有什么问题