組み込みのアカウント コントローラー/モデル/ビューを使用して、標準の MVC 4 アプリケーションを作成しました。別のコントローラーを追加しようとしましたが、既存のユーザーとの外部キー関係を作成したいのですが、次のエラー メッセージが表示されます。
タイプ 'MVC4App.Models.ListingModel' のプロパティ 'CreatedBy' の ForeignKeyAttribute が無効です。依存型「MVC4App.Models.ListingModel」で外部キー名「UserId」が見つかりませんでした。Name 値は、外部キー プロパティ名のカンマ区切りのリストである必要があります。
リスティング モデル コードは次のとおりです。
システムを使用する; System.ComponentModel.DataAnnotations.Schema を使用します。
namespace MVC4App.Models
{
public class ListingModel
{
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Location { get; set; }
public string Instrument { get; set; }
public string Genres { get; set; }
public string Description { get; set; }
[ForeignKey("UserId")]
public virtual UserProfile CreatedBy { get; set; }
public DateTime CreatedOn { get; set; }
}
}
ここで何が欠けていますか?または、これを行うべきより良い方法はありますか?
また、プロジェクトの後半で、メールアドレスやアバター画像へのリンクなど、ユーザープロファイルに追加のプロパティを追加できると思いますか?