【发布时间】:2017-12-12 10:42:02
【问题描述】:
如果字符串为空或在插入之前为所有表为空,我想插入空格或一些默认值(因为 Oracle 将空白值视为空,但它与 SQL Server 一起工作正常)。我正在使用实体框架 6.0。
在谷歌上搜索了很多之后,我找到了一个类似的答案here。但这对我不起作用。显示错误
对象不包含值的定义
如何使用实体框架拦截器来实现这一点?
【问题讨论】:
-
在属性的设置器中检查该值是否为空,但是你想要什么,或者你可以给它一个默认值
-
使用链接中的代码,但将
foreach (var p in command.Parameters)替换为foreach (var p in command.Parameters.Cast<DbParameter>()) -
@IvanStoev 您的代码显示错误 - System.Data.Common.DbParameterCollection' 不包含“Cast”的定义,并且没有扩展方法“Cast”接受“System.Data”类型的第一个参数。可以找到 Common.DbParameterCollection'(您是否缺少 using 指令或程序集引用?)
-
@deepakneo 您知道如何解决此类错误,不是吗? Control+Dot、灯泡等添加
using System.Linq;或者只是我试图避免的旧 stype cast foreachforeach (DbParameter p in command.Parameters) -
谢谢伙计,很高兴它有帮助。但这是一个问题,因此应该在链接中高度赞成的答案中得到解决。我认为如果您发布自我回答您是如何解决相关问题的会更合适。
标签: c# asp.net-mvc oracle entity-framework