データベースを EDMX モデルにインポートすると、最大長に関する次の情報が得られます
上の画像では、最大長が250の文字列列があります。
EDMX プロパティを調べる必要なく、この最大長を (コーディング中に) チェックする方法はありますか?
情報を表示する方法のサンプル:
Class.ColumnName
要約情報のようにインテリセンスに表示されるようなものを入力すると。
データベースを EDMX モデルにインポートすると、最大長に関する次の情報が得られます
上の画像では、最大長が250の文字列列があります。
EDMX プロパティを調べる必要なく、この最大長を (コーディング中に) チェックする方法はありますか?
情報を表示する方法のサンプル:
Class.ColumnName
要約情報のようにインテリセンスに表示されるようなものを入力すると。
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 クラス
と文字列正規関数
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 を更新します。(これが可能かどうかはわかりません。)