小さな仕事のように感じる何かをしようとしていますが、それを行う簡単な方法がわかりません。これを行うための私のアプローチはすべて、単純なタスクに対して非常に複雑になります。
私はこれらのモデルを持っています:
public class Blog
{
public int Id { get; set; }
public String Name { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
public class Post
{
public int Id { get; set; }
public String Name { get; set; }
public int BlogId { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
public class Comment
{
public int Id { get; set; }
public String CommentText { get; set; }
public int PostId { get; set; }
public int UserProfileUserId { get; set; }
}
public class UserProfile
{
public int UserId { get; set; }
public string UserName { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
}
追加されたコメントの部分ビューで、コメントを作成したユーザーの完全なユーザー名を表示したいと考えています。ビューと部分ビューで基本クラスを使用するだけで、追加されたコメントに完全なユーザー名を除いて必要なものがすべて取得されます。これまでのところ、次の方法を考えてきました。
ViewModels - これにより、クラスごとに ViewModel が作成され、コントローラーに手動で入力/マップされます。
ビューのコード - UserProfileUserId を持っているので、ビューからリポジトリに問い合わせることができますが、これは MVC で MVC を強制終了するので、やりたくありません。
UserProfileFirstName と UserProfileLastName を Comment クラスに外部キーとして実際に追加する - これは、データベースをビュー固有のデータで満たすように感じます。リレーショナル データベースには属しません。
通常の SQL を使用してデータベースにクエリを実行する - SQL を知っているという理由だけで、これを実行する方法になる可能性があります。しかし、再びMVCでMVCを殺しています。
どうすればいいですか?私のばかげた見過ごされたオプションはどこにありますか? 私はたくさん検索しましたが、答えを見つけることができませんでしたが、これは私がまだすべての技術用語を知らないことに関連している可能性があります. これが1000回前に回答された場合は申し訳ありません。