asp.net-mvc-3 – 如何配置DbContext以使用Oracle ODP.Net和EF CodeFirst?
发布时间:2020-05-23 22:10:43 所属栏目:asp.Net 来源:互联网
导读:我正在尝试使用ODP.net在Oracle下使用EF CodeFirst.这是我的DbContext类: public class MyCEContext : DbContext { public DbSetPerson Persons { get; set; } protected override void OnModelCreating(DbModelBuilder
|
我正在尝试使用ODP.net在Oracle下使用EF CodeFirst.这是我的DbContext类: public class MyCEContext : DbContext {
public DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Entity<Person>().ToTable("PERSONS","myce");
}
public MyCEContext() :
base(new OracleConnection(
"Data Source=cebd; User ID=myce; Password=****;"),true) {}
}
问题是,当我尝试做这样的事情时: MyCEContext context = new MyCEContext(); Person p = context.Persons.Find(1); 我得到这个内心的错误: {"ORA-00942: table or view does not exist"}
表格存在. 我究竟做错了什么? 解决方法正如Nick在他的回答中所写的那样,问题与生成的查询的引用和大小写有关,但与表的名称有关,但与模式的名称有关:SELECT * FROM "myce"."PERSONS" "Extent1" 所以解决方案非常简单,只是大写用户ID和模式名称: modelBuilder.Entity<Person>().ToTable("PERSONS","MYCE");
通常,所有都必须是大写的:表,模式和字段的名称.但最好使用Column属性注释每个映射属性,而不是使用大写属性名称: [Column("FIRST_NAME")]
public string FirstName { get; set; }
因此,名称将更容易在数据库和类中读取. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – MVC4在配置文件中查看缓存持续时间?
- asp.net – 如何为我的网络应用程序获取类似Gmail的文件上传
- ASP.NET Core 2.1身份:如何删除默认UI剃刀页面?
- asp.net-mvc – 使用OWIN的Google身份验证Oauth在MVC5中没有
- asp.net-mvc – RavenDB部署问题
- owin和oAuth2.0之间的关系是什么?
- asp.net-mvc – AspNet Identity 2.0电子邮件和用户名重复
- asp.net – 比较Razor vs ASPX语法
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错误
- asp.net-mvc – 本地化数据注释默认消息([必需] [StringLen
推荐文章
站长推荐
- asp.net-web-api – 如何在StructureMap Service
- asp.net-mvc – AJAX POST到MVC Controller显示3
- 如何修复ASP.NET错误“文件’nnn.aspx’没有预编
- 缺少ASP.NET 5模板
- 如何设置默认页面asp.net
- asp.net-mvc – 在AccountController之外访问Use
- asp.net MVC的Html.RadioButton生成id和名称相同
- asp.net-mvc – ASP.Net MVC – HTTP状态代码(即
- asp.net-mvc – 如何获取某些代码在ASP.NET MVC
- 在asp.net后面的代码中创建javaScript变量
热点阅读
