0

我正在从我的 C# 代码中调用 SP。一切都有效,直到我想更改 SP 的结果类型。

就像从 Int32 到 String 的一些值和从 Double 到 Decimal 的一些值。

现在我在调用或调用 sp 的映射时遇到此错误。

German:

Die Eigenschaft 'VBENr' bei 'Report_Result' konnte nicht auf einen 'Int32'-Wert festgelegt werden. Sie müssen diese Eigenschaft auf einen Nicht-NULL-Wert des Typs 'String' festlegen.

English:

The Property 'VBENr' in 'Report_Result' could not be set to a 'Int32' value. You must set this property to a non-null value of type 'String'.

我无法进行此更改,因为它已经是设计器中的内容。我读到了一些关于设计器无法正常工作的信息,所以我也在 Designer.cs 和 *.edmx 中更改了值

例如 VBENr 值:

edmx:

      <Property Type="String" Name="VBENr" Nullable="false" />

设计者.cs:

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String VBENr
        {
            get
            {
                return _VBENr;
            }
            set
            {
                OnVBENrChanging(value);
                ReportPropertyChanging("VBENr");
                _VBENr = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("VBENr");
                OnVBENrChanged();
            }
        }
        private global::System.String _VBENr;
        partial void OnVBENrChanging(global::System.String value);
        partial void OnVBENrChanged();

真的不知道为什么我收到这个错误信息..

谢谢

马库斯

4

1 回答 1

0

有时代码生成器不会接受/刷新您的更改。当这种情况发生在我身上时,我会按照以下步骤操作:

  1. 从 edmx 中删除表
  2. 保存 .edmx
  3. 添加表(从数据库更新模型)
  4. 保存 .edmx
  5. 自己运行 t4 脚本(右键单击 .tt 文件,点击运行自定义工具)

不要编辑生成的代码,因为下次您修改和保存 .edmx 时,您的更改将会丢失。

于 2013-07-30T11:16:58.483 回答