問題タブ [buddy-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - バディクラスの情報を取得していますか?
通常のasp.net mvc 2検証プロセス以外で使用するために、バディクラスのメタデータ情報を読み取ろうとしています。私はそれが言うのと同じくらい簡単だと思った:
それは機能しますが、バディ情報にあるものだけでなく、型のメタデータ情報全体を返しています。MVC2 ソース (DataAnnotations のバディ クラス サポートを使用) によると、バディ データ情報の取得をサポートする必要がありますが、Metadatatype() 属性に反映されるコードの部分がわかりません。
ここで一般的に混乱します。過負荷か何かを見逃しましたか?
asp.net-mvc - Validator.TryValidateObjectを使用すると、検証が機能しません
DataAnnotationsはバディクラスでは機能しません。次のコードは常にtrueを検証します。なんで ?
var isValid = Validator.TryValidateObject(new Customer()、Context、results、true);
これがバディクラスです。
これは同じ質問の別のスレッドですが、答えはありません。 リンクテキスト
c# - DataAnnotation 属性バディ クラスの奇妙さ - ASP.NET MVC
EntityFramework T4 テンプレートによって自動的に生成されたこの POCO クラスがあるとします (手動で編集することはできません)。
「ACNumber」は不適切な名前のデータベース フィールドであるため、自動生成機能は正しい表示名とエラー メッセージ (「Account Number」である必要があります) を生成できないことに注意してください。
したがって、このバディ クラスを手動で作成して、自動生成できなかったカスタム属性を追加します。
[NumberCode] は、数字とハイフンのみを許可する単純な正規表現ベースの属性です。
現在、ページをロードすると、DisplayName 属性が正しく機能します。生成されたクラスではなく、バディ クラスの表示名が表示されます。
StringLength 属性が正しく機能しません。生成されたクラスからのエラー メッセージが表示されます (「Account Number」ではなく「ACNumber」)。
しかし、バディ クラスの [NumberCode] 属性は AccountNumber プロパティに適用されません。
prop.Attributes.OfType<ValidationAttribute>()
コレクションに [NumberCode] 属性が含まれていないのはなぜですか? NumberCode は、ValidationAttribute を継承する RegularExpressionAttribute を継承するため、存在するはずです。
[NumberCode] 属性を自動生成されたクラスに手動で移動すると、prop.Attributes.OfType<ValidationAttribute>()
コレクションに含まれます。
だから私が理解していないのは、バディクラスの他の属性が機能しているときに、この特定の属性がバディクラスで機能しない理由です。そして、この属性が自動生成されたクラスでは機能するのに、バディでは機能しないのはなぜですか。何か案は?
また、StringLength が上書きされないのに、なぜ DisplayName がバディによって上書きされるのでしょうか?
c# - バディクラスにLINQ自動生成値マーカー[Column(IsDbGenerated = true)]を追加する
バディクラス(を介してLINQクラスにリンクされている)を[Column(IsDbGenerated=true)]
使用して、LINQで生成されたクラスのフィールドを装飾することは可能ですか?[MetadataType(typeof(BuddyMetadata))]
私の目標は、特定の列が自動生成されるという事実を再確立するために毎回「値の自動生成」プロパティを手動で設定しなくても、LINQORMデザイナーをクリアして再設定できるようにすることです。
ありがとう!
c# - バディクラスはDataAnnotationsに対してのみ機能しますか?
バディクラスはデータ注釈に対してのみ機能しますか、それとも任意の属性に対して機能しますか?バディクラスのフィールドにColumnAttributeをアタッチしようとしましたが、元のクラスでは処理されないようです。2つのクラスはMetadataTypeを介してリンクされています。
c# - ASP.NET MVC3 のデータベースから DataValidation "Buddy" クラスを自動生成するにはどうすればよいですか?
Entity Framework によって作成されたオブジェクトから直接生成されたビューを持つ Web サイトがあります。Scott GU によるこのブログを読んだ後、DataValidation を機能させる最善の方法は、代わりに POCO オブジェクトから始めることだと思われます。(リンクでバディクラスという単語を検索してください)
どうにかしてバディ クラスを自動生成できますか? それとも、間違った足で MVC への進出を開始したのでしょうか?
validation - MVC3 バディ クラス、ViewModel、および検証
私は現在、自分自身の学習目的のための栄光のブログにすぎない最初の MVC プロジェクトに取り組んでいます。その時点でコードファーストが存在することさえ知らなかったので、データベースファーストのアプローチから始めました。そのため、検証をどのように処理する必要があるかについて、混乱が生じました。
データベースには、 EF によって生成された対応するクラスを持つテーブルArticles
があります。の各プロパティに一致するプロパティを持つクラスArticle
もあります。私は単純な CRUD 操作を行っていますが、現在、代わりに厳密に型指定されたモデルを使用しており、データの検証は行われていません。ArticleViewModel
Article
Article
ArticleViewModel
今日、私の選択肢を評価するためにいくつかの調査を行った後、次の 質問とこのブログ投稿を見つけました。そのため、EF で生成されたクラスに属性を適用してそこに検証を配置できるように見えますがMetadataType
、検証を含むバディ クラスは悪い習慣であると読み続けています。理由はわかりませんが、もしそうなら、バディクラスを無視して次のようなことをしなければならないということですか?
次に、必要に応じて ArticleViewModel に DataAnnotations を適用し、使用するコントローラー/ビューを更新しますArticleViewModel
か?
ご意見をお寄せいただきありがとうございます。:)
asp.net-mvc-3 - 最初にデータベースを使用して、自動生成された desgner.cs のバディ クラスを作成します。
Datafirst Entity Framework で自動生成された Designer.cs のバディ クラスを作成して、データ注釈を使用した検証を実装したいと考えています。
Googleで見つけたソリューションには、次のような単純なプロパティを持つ例が含まれています
一方、designer.cs で生成されたプロパティにはいくつかのロジックが含まれています。例のために
上記のようなプロパティのバディ クラスを作成する方法をご案内します。
asp.net-mvc - VB.NET MVC アプリケーションで Entity Framework Buddy クラスを作成して検証を拡張する
エンティティ データ モデルには、次の複合型があります
私はVB.NetでMVC 4.0アプリを書いています
ソリューション内の別のプロジェクトの複合型定義に検証を追加したい
MVC プロジェクトで部分クラスを定義しようとしましたが、コンパイルされても、足場テンプレートがすべてのプロパティを生成しないため、何らかの形で間違っていることがわかります
過去 6 か月で、従来のコーディングからオブジェクト指向コーディングに移行しましたが、このような問題を克服するのに本当に苦労しています。私が間違っているところを操縦していただければ幸いです。名前空間を追加しようとしました。
asp.net - BuddyClassの必須属性がEntityFramework5およびASP.NETで機能しない
私のデータベースには、null許容ではないフィールドがありますが、空の文字列を含めることができます。connection.SaveChanges()を使用してレコードを保存しようとすると、「MyFieldフィールドが必要です」という例外が発生します。
次のようにBuddyClassを作成しましたが、それでも次のメッセージが表示されます。
ErrorMessage属性を使用して、スローされたエラーのメッセージを変更できるため、Buddy Classが正しく機能していることはわかっていますが、Required属性は正しく機能していないようです。
属性DisplayFormat(ConvertEmptyStringToNull = false)も含めてみましたが、同じ結果が得られました。
私は以前にこれを行ったことがありますが、以下の最初の参照もそれが機能するはずだと言っているようですので、私は困惑しています。誰か助けてもらえますか?
参考資料(最初の2つだけが直接関連しているように見えますが、他の2つはまだ役立つ場合があります):
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.requiredattribute.allowemptystrings.aspx
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayformatattribute .convertemptystringtonull.aspx EntityFramework
プロパティをNOTNULLにする方法、ただしフォーム送信では必須では
ないMVCアプリでバディクラスメタデータを使用してデータ注釈属性が機能しない
EFバディクラスでカスタム属性(AttributeTargets.Class)を使用したデータ検証