entity-framework – 获取Model模式,以使用不支持CreateDatabase
我正在使用Entite Framework 5的SQLite提供程序,但它不支持Create
Database,因此无法自动创建数据库. (代码优先)
有没有办法在运行时获取Model模式,以便我自己创建SQL“CREATE TABLE”命令? 如果不是在运行时,以其他方式获取模式,那么我知道如何正确创建表? 谢谢! 解决方法A)至于在运行时部分获得模型模式(都是我早先的帖子) 见这个How I can read EF DbContext metadata programmatically? 和How check by unit test that properties mark as computed in ORM model? 另外这个用于自定义初始化程序Programmatic data transformation in EF5 Code First migration 话说回来… 我看到的问题是你实际拥有数据的地点和位置. 在初始化程序中可能 – 但使用不同的方式来获取该信息 – 上述内容不可用. B) 有关详细信息,请查看EF source code 到目前为止,这更像是一个“收集的信息” – 以防它可以帮助您随处获得它.不是真正的解决方案.我明天再补充一些. 编辑: 要获得真正的数据库元数据,请查看其他DataSpace,这应该可以帮助您到达正确的位置… var ssSpaceSet = objectContext.MetadataWorkspace.GetItems<EntityContainer>(DataSpace.SSpace).First() .BaseEntitySets .First(meta => meta.ElementType.Name == "YourTableName"); 如果在调试器中查找,Table属性应该具有实际的表名. How I can read EF DbContext metadata programmatically? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServer中@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的作
- sql-server – 为什么sp_send_dbmail在SQL Agent作业中失败
- sqlserver日期函数
- 安装sqlserver 2012 必须使用角色管理工具 .net 3.5
- sql – DELETE和INSERT之后的Redshift(AWS)上的VACUUM
- SqlServer2008修改表栏位提示权限问题
- linux下安装oracle后使用命令行启动的方法 linux启动oracle
- OpenCV:指纹图像与数据库比较
- SQLServer : EXEC和sp_executesql的区别
- 详解MySQL中的外键约束问题