3

データベースを EDMX モデルにインポートすると、最大長に関する次の情報が得られます

ここに画像の説明を入力

上の画像では、最大長が250の文字列列があります。

EDMX プロパティを調べる必要なく、この最大長を (コーディング中に) チェックする方法はありますか?


情報を表示する方法のサンプル:

Class.ColumnName要約情報のようにインテリセンスに表示されるようなものを入力すると。

4

2 に答える 2

1

1 つの方法は、クラスで宣言し、このクラス (edmx ではない) を使用することです。例:

[Column("Name")]
[Required(ErrorMessage = "Name is obligatory")]
[StringLength(30, MinimumLength = 3, ErrorMessage = "Name has to have at least 3 characters")]
public string Name { get; set; }

次に、ユーザーコントロールを使用して画面上で確認します。(私はより良い解決策があることを知っています)


PS: クラスは少し複雑で、多くのカスタマイズが必要です。誰かがそれを望むなら、私は将来投稿することができます.

ただし、これらのリンクで詳細を確認できます。

StringLength 属性と MaxLength 属性 ASP.NET MVC3 with EF 4.1 Code First
C# DataAnnotations の StringLength と SubString を使用してテキストを削除する方法
StringLengthAttribute クラス
文字列正規関数

于 2013-04-30T17:58:55.507 に答える
0

Intellisense は、デザイナーの [ドキュメント] -> [概要] フィールドにあるテキストを表示します。これにより、いくつかのオプションが提供されます。

1) あなたは本当に OCD になることができます。デザイナーで EDMX を編集するときは、常にこのフィールドに入力するようにしてください。

2) .edmx を解析するスクリプトを作成し (任意の XML ファイルと同じように編集できます)、指定された<Property>要素を探し、内部に要素と要素MaxLengthを追加して、単純に最大長を示します。たとえば、次のように解析します。<Documentation><Summary>

<Property Name="USER_NAME" Type="String" MaxLength="50" Unicode="true" FixedLength="false" >

の中へ:

<Property Name="USER_NAME" Type="String" MaxLength="50" Unicode="true" FixedLength="false" >
  <Documentation>
    <Summary>Max length of 50</Summary>
  </Documentation>
</Property>

編集が完了したら、デザイナーを開いて再度保存するだけで、.Designer.cs/vb を再構築するだけです。

3) どういうわけか Visual Studio にクラスが EDMX からのものであることを認識させ、EDMX を解析して MaxLength を取得し、それに応じて表示するように Intellisense を更新します。(これが可能かどうかはわかりません。)

于 2013-03-06T22:08:15.800 に答える