无法将属性设置为“字符串”值,必须将此属性设置为“Int32”类型的非空值

时间:2013-06-21 10:04:58

标签: c# c#-4.0 stored-procedures entity-framework-4

我创建了自己的复杂类型来填充存储过程函数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();

enter image description here

enter image description here

enter image description here

enter image description here

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的错误吗?

0 个答案:

没有答案