【问题标题】:how to convert 'int' to 'objectParameter'?如何将“int”转换为“objectParameter”?
【发布时间】:2020-01-30 10:15:31
【问题描述】:
我看到反之亦然,可以使用 objectParameter 中的“.value”
int repid = Int32.Parse(reportId);
作为参数快速传递给 SP 会出错
无法将“int”转换为
'System.Data.Entity.Core.Objects.ObjectParameter'
public virtual int usp_AuditLogger( ObjectParameter reportId)
{
//this is where I need that value
}
【问题讨论】:
标签:
c#
.net
entity-framework
stored-procedures
【解决方案1】:
ObjectParameter 不是从一种类型更改为另一种类型的数据类型,但您可以通过创建ObjectParameter 类的新实例将值分配给该类的Value 属性。
int anyValue=12;
ObjectParameter reportId=new ObjectParameter("reportId", anyValue);
【解决方案2】:
ObjectParameter 是一个具有两个属性的类,名称和值。因此,在您的方法中,如果您真的想在参数中传递 ObjectParameter,您必须在示例中创建名称为 reportId 且值为 reportId 的对象。
public virtual int usp_AuditLogger(ObjectParameter report )
{
int _reportId = report.value;
//this is where i need that value
}
或者您可以更改函数中的输入参数以期望一个 int:
public virtual int usp_AuditLogger(int reportId)
{
//this is where i need that value
}