首页 > 代码库 > Oracle学习 第27天 EF下的Schema
Oracle学习 第27天 EF下的Schema
.net后台使用EF连接Oracle时,如果不显式指定Schema就会报错(找不到表),研究了下:
1、跟踪Oracle后台,EF的FirstOrDefault,转换出来的就是普通的SELECT * FROM XX WHERE ROWNUM = 1 ;复制出来可以执行,但EF里无法识别,因为没指定Schema
2、可以把EF的实体Table改为Schema.Table这种形式(没试过)
3、在实体类前面加上Schema,项目中是通过存储过程生成的,我加了个参数,用于判断是Oracle的话就生成这种形式
[Table("TableName", Schema = "SchemaName")]
4、如果要动态生成Schema,可以在DbModelBuilder中指定通用的Schema,如:modelBuilder.HasDefaultSchema("SchemaName");但只有EF6以上才可以用
5、EF6以下,要为每张表指定(可以用反射再循环处理),如:modelBuilder.Entity<TableName>().ToTable("TableName", "SchemaName");
Oracle学习 第27天 EF下的Schema
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。