0

Visula Studio Express 2012 のこの記事に基づいてエンティティをいじっていました: http://msdn.microsoft.com/en-us/data/gg685494.aspx

いくつかの発見の後、これを完全にやり直さなければなりませんでした:

  1. データベースを作成できる記事によると、これは正しいですが、ダイアグラムの空の部分を右クリックしてプロパティを選択し、「コード生成戦略」のために何かを選択しない限り、クラスは作成されません(デフォルトしかありませんでした)。その後、私のプロジェクトはエラーのためにビルドされなくなりました。新しく作成されたプロジェクトでもう一度実行しようとしても、モデル クラスがクレートされなくなりました (初めて機能させるために何をしたかわかりません)。
  2. ダイアグラムで製品を作成した後、データベースを作成し、そのデータベースを 2 番目のプロジェクトで使用してモデルを作成します。products.cs ファイルが作成されますが、注釈はありません (最大 200 文字の製品名がありましたが、products.cs ファイルにはありません)。 )。
  3. 2 番目のプロジェクトでコントローラーとビューをスキャフォールディングした後 (最初のプロジェクトのモデルから作成されたデータベースからモデルを作成)、製品名が最大 200 文字まで誤って検証されます。デザイナーには最大 200 と表示されますが、products.cs ファイルには注釈がありません。

ここで何か間違ったことをしている場合、エンティティ図から product.cs ファイルを作成し、ビルド可能なプロジェクトを残す方法を誰かに説明してもらえますか? データベースから作成されたモデル クラスに注釈がないのは正常ですか (たとえば、最大 200 文字のフィールド)?

私はエンティティとそのアイデアが好きです。ビデオ付きのドキュメントがたくさんありますが、今のところ、帽子を買いに出かけます。なぜなら、それが機能する方法に慣れようとして髪をすべて引っ張るからです :-)

4

1 に答える 1

0

デザイナーを使用してエンティティ クラスでデータベースを作成するのはクールですが、デザイナーまたはデータベースからクラスを作成することは (まだ) 適切に機能していません。

注釈がないため、null などのチェックはありません。クラスを手動で作成し、製品名の注釈を追加しました。

public int Id { get; set; }
[DisplayName("Product name"), 
  Required(ErrorMessage = "Product Name is required"), 
  StringLength(10)]
public string Name { get; set; }

次に、ソリューション エクスプローラーでコントローラー フォルダーを右クリックし、=> 追加 => コントローラー => エンティティ フレームワークをテンプレートとして使用を選択して、crud ビューを作成します。

なんらかの理由で、ここでさらに別の接続文字列と database.mdf ファイルを作成するデータ コンテキスト クラスを作成する必要がありますが、フォームの検証は JavaScript とサーバーで完全に機能します。

于 2013-03-29T04:11:58.560 に答える