我使用EF 5.0代码优先开发具有多个关系数据库表的应用程序。这很有效,直到我尝试添加没有任何关系的表格(独立)。我需要一些这些参考/查找表在我的数据库。我就像其他人一样对我的类进行编码,但是EF似乎忽略了它们,并没有创建它们。有什么我需要告诉EF这些应该建立为独立?怎么样?任何指导非常感谢。EF 5.0代码优先独立表
回答
要让EF创建一个表,您需要在您的DbContext
中有一个DbSet<T>
,假设您拥有此表,它将创建表。
对此的一个解释就是,如果你有一个外键不属于你的内容,那么EF也将承担其数据库的一部分并创建它。我认为这是你所看到的行为。
我没有在上下文中添加DbSet
EF对“独立”表不应有任何限制。
当你建立EF表一次,额外的变化将不得不跟着Context类的
- 更新(的
DbContext
子类) - 将迁移脚本(生成API调用将与新更新的数据库表等)
- 更新数据库(运行迁移脚本)。
你可以找到真正好的教程here。
您能否澄清“不应该”或“不”,并指出我可以在哪里验证?另外,我在开发过程中使用DropCreateDatabaseAlways作为我的初始化程序,所以不需要迁移。 – user1626137
在我看来,EF **不会对“独立”表格有任何限制。我一直在几个项目中使用EF 5(带有“独立”表),并且从来没有像您一样遇到任何问题(尤其是当您使用DropCreateDatabaseAlways数据库初始化时)。但是,我用**不应该**,因为也许你遇到了一个错误。也许在描述中加入更多的代码会给我们一些线索。 – Tom
你是对的。正如Luke在上面指出的,我没有在上下文中输入DbSet
- 1. EF代码优先 -
- 2. EF 5.0代码优先EF跟踪与DBContext
- 3. EF代码优先 - System.InvalidOperationException
- 4. MVC4 - EF代码优先
- 5. 与EF代码优先
- 6. 继承EF代码优先
- 7. 在EF代码优先
- 8. EF代码优先外键
- 9. EF代码优先:连接表为空
- 10. 枚举EF 5.0 - 数据库优先
- 11. EF代码优先不立即更新套件
- 12. EF代码优先迁移不编译
- 13. EF 4.1代码优先 - 添加列
- 14. EF代码优先的对称关系
- 15. 使用EF代码优先本地extention
- 16. 删除EF代码优先列
- 17. EF 5 - 代码优先迁移
- 18. EF代码优先 - 无效的列名
- 19. EF代码优先映射视图
- 20. 许多在EF代码优先
- 21. EF代码优先 - 集合内
- 22. EF代码优先:CreateIndex - 覆盖索引
- 23. EF代码优先 - 映射为FK
- 24. EF代码优先:型号配置
- 25. EF代码优先和确认字段
- 26. 一个DbSet的EF代码优先PluralizingTableNameConvention
- 27. EF代码优先多对多更新
- 28. EF代码优先与两个DbContexts
- 29. MVC3:EF代码优先和认证
- 30. Northwind在EF代码优先的示例
你是如何告诉EF有关这些表格的?你为他们添加了映射吗?或者为你的上下文中的这些实体创建了DbSet属性? –
他们没有映射,但我仍然需要创建DbSet属性,我没有这样做。这固定了它。如果您回复为答案,我会选择您的回复。谢谢。 – user1626137