2012-01-09 2 views
1

私は、すべてのデフォルトで新しく作成されたASP.net MVC3プロジェクトを持っています。私はこのアプローチを使用してデータベースを構築しています。私はPHPの背景から来て、これはASP.netプロジェクトでの私の最初の試みです。最初にコードを使用してアカウントモデルにポストをリンクするASP.NET MVC3

"posts"という新しいモデルを作成しました。これをデフォルトプロジェクトに付属の組み込みのaccounts/usersシステムにリンクしたいと思います。

ユーザーのみが投稿を追加でき、どのユーザーがどの投稿を追加したのか知りたいと思っています。投稿を1人のユーザーにリンクしたいと思います。

PHPでは、投稿テーブルのposts_idにFKを作成し、ユーザーが新しい投稿を追加すると、そのフィールドにユーザーのIDを入力します。しかし、アカウントモデルにはIDフィールドがないようです。コードの最初のアプローチを使用してASP.net MVC3に構築

質問

  • はどうすればデフォルトのアカウントシステムにモデルをリンクするのですか?
  • ポストコントローラのビューからユーザーフィールドをクエリするにはどうすればよいですか?

チュートリアルへのリンクは私には役立ちます。 ありがとう

+1

これは私の意見では最高のチュートリアルです。http://mvcmusicstore.codeplex.com/ – torm

答えて

1

FKsのようなposts_idは、データベース形式の参照です。そのデータを表すオブジェクト指向の方法は、AccountオブジェクトにICollection<Post>を与え、各PostオブジェクトにAccount参照フィールドを与えることによって行われます。

など。

public class Post 
{ 
    public Account Account { get; set; } 
    ... 
} 

は、このデータを取得するためとして、私は、DBから&にセーブ/ロードするオブジェクトのための責任を負うことになるリポジトリ・スタイルのサービスクラスをお勧めします。私はアカウントのレコードがテンプレートMVCアプリケーションで永続化される方法を正確にはわからないので、そのデータにどのように結びついているのかはわかりません。私はいつも自分のUser DBテーブルを使い、Microsoftアカウントのものをすべて捨てました。

幸運を祈る!

関連する問題