我创建了自己的复杂类型来填充存储过程函数import的结果。 SP中的数据类型是Int,复杂类型属性也是Int。当我运行应用程序时,出现错误''on property on''无法设置为'String'值。您必须将此属性设置为“Int32”
类型的非null值/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
[DataMemberAttribute()]
public Nullable<global::System.Int32> ConfidenceLevel
{
get
{
return _ConfidenceLevel;
}
set
{
OnConfidenceLevelChanging(value);
ReportPropertyChanging("ConfidenceLevel");
_ConfidenceLevel = StructuralObject.SetValidValue(value);
ReportPropertyChanged("ConfidenceLevel");
OnConfidenceLevelChanged();
}
}
private Nullable<global::System.Int32> _ConfidenceLevel;
partial void OnConfidenceLevelChanging(Nullable<global::System.Int32> value);
partial void OnConfidenceLevelChanged();
Stack Trace:at System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader 1.GetValue(DbDataReader reader, Int32 ordinal)
at System.Data.Common.Internal.Materialization.Shaper.GetPropertyValueWithErrorHandling[TProperty](Int32 ordinal, String propertyName, String typeName)
at lambda_method(Closure , Shaper )
at System.Data.Common.Internal.Materialization.Coordinator
1.ReadNextElement(Shaper shaper)
在System.Data.Common.Internal.Materialization.Shaper 1.SimpleEnumerator.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()
在System.Collections.Generic.List 1..ctor(IEnumerable
1个集合)
在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)
at ..Models.Repository.DataAccess.GetExtractAllLimits()in ... DataAccess.cs:第19行
at ... GetExtractAllLimits()in .... Service.svc.cs:第17行
在SyncInvokeGetExtractAllLimits(Object,Object [],Object [])
在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,对象[]输入,对象[]和输出)
在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
我已经尝试将该属性设置为可空,并删除并重新添加该属性,但仍然无效。
我注意到一些旧帖子几乎没有相同的问题但没有答案,这是EF的错误吗?