.net – 实体框架4.0实体SQL传递null ObjectParameter参数
发布时间:2020-05-23 16:00:16 所属栏目:MsSql 来源:互联网
导读:我有一个Entity SQL查询: SELECT VALUE t FROM MyEntities AS t WHERE t.Name = @p OR (@p IS NULL AND t.Name IS NULL) 我可以执行如下查询: var results = context.CreateQueryWorkflowInstance( query, new ObjectParamet
|
我有一个Entity SQL查询: SELECT VALUE t FROM MyEntities AS t WHERE t.Name = @p OR (@p IS NULL AND t.Name IS NULL) 我可以执行如下查询: var results = context.CreateQuery<WorkflowInstance>(
query,new ObjectParameter("p",name)).ToList();
但是,如果’name’变量为null,那么我得到System.ArgumentNullException.所以如果名称为null,我也尝试使用DBNull.Value,我得到以下异常:
我想要参数化查询,其中空值也是可能的参数值.如何使用Entity SQL实现此目的? 解决方法你是对的,似乎是ObjectParameter构造函数中的一个bug.但Value属性似乎接受空值. 尝试用以下代码替换您的代码: var prm = new ObjectParameter("p",typeof(string));
prm.Value = name;
var results = context.CreateQuery<WorkflowInstance>(
query,prm).ToList();
如果直接分配Value参数,代码似乎有效. 达维德 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
