oracle – EF ODP.NET:指定的值不是’Edm.Decimal’类型的实例
发布时间:2020-12-12 16:25:09 所属栏目:百科 来源:网络整理
导读:我正在使用Oracle的托管ODP.NET客户端和Entity Framework.它工作正常.但是我在不同的服务器上有不同的行为.我很确定它与DLL版本有关,但到目前为止我找不到任何差异. 我有这些表: create table parent ( parent_id number primary_key,data varchar2(100));c
我正在使用Oracle的托管ODP.NET客户端和Entity Framework.它工作正常.但是我在不同的服务器上有不同的行为.我很确定它与DLL版本有关,但到目前为止我找不到任何差异.
我有这些表: create table parent ( parent_id number primary_key,data varchar2(100) ); create table child ( child_id number primary key,parent_id number references parent(parent_id) ); 而这些实体: public class Parent { Int32 Id { get; set; } string Data { get; set; } } public class Child { Int32 Id { get; set; } Parent Parent { get; set; } } 这是代码: Entities e = new Entities(connectionString); Parent p = new Parent(); parent.Data = "TEST DATA!"; Child c = new Child(); c.Parent = p; e.Children.AddObject(c); e.SaveChanges(); // exception here,in one server,not on the other 我有一个触发器自动填充两者(父和子)上的id,我在实体框架配置上使用Store Generated Pattern = Identity. 我的问题是: 在我的开发机器上,它按预期完美地工作.两行都插在各自的表中.但是,在服务器上,我收到一条错误消息:指定的值不是“Edm.Decimal”类型的实例. 更多信息: Oracle.ManagedDataAccess(v 4.121.1.0) 在两个:开发机器(工作)服务器(不工作). 想法? 尝试将Id列的定义从Int32更改为Decimal.我已经多次遇到过这个问题而且我认为已经解决了这个问题.public class Parent { Decimal Id { get; set; } string Data { get; set; } } public class Child { Decimal Id { get; set; } Parent Parent { get; set; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |