【发布时间】:2015-04-13 01:29:47
【问题描述】:
我有一个这样的存储过程:
CREATE PROCEDURE [dbo].[Organisation_Insert]
@OrganisationXId uniqueidentifier
,@Enabled bit
,@Timezone nvarchar(50)
,@MinimumValue float
,@Rules ReminderRuleType READONLY ...
ReminderRuleType 是用户定义的类型。
在我的应用中我有这个:
class OrganisationDTO
{
private readonly IOrganisationDocument _orgDoc;
public long OrganisationId { get { return _orgDoc.OrganisationId; } }
public Guid OrganisationXId { get { return _orgDoc.OrganisationXId; } }
public string TimeZone { get { return _orgDoc.TimeZone; } }
public bool Enabled { get { return _orgDoc.Enabled; } }
public decimal MinimumValue { get { return _orgDoc.MinimumValue; } }
public RuleTableValuedParameters Rules { get; private set; }
public OrganisationDTO(IOrganisationDocument orgDoc)
{
_orgDoc = orgDoc;
Rules = new RuleTableValuedParameters("@Rules", _orgDoc.Rules);
}
}
RuleTableValuedParameters 实现了具有 AddParameters 方法的 SqlMapper.IDynamicParameters。
当我执行查询时,@Rules 参数永远不会被传递(使用 SQLProfiler)。我还可以看到从未调用过 AddParameters。
这可能吗?
谢谢
【问题讨论】:
-
你指定
commandType: CommandType.StoredProcedure了吗?
标签: dapper