非常に単純な質問ですが、2つのモデル間で単純な一対多関係を実装しようとしているようです。Web APIでコードファーストを使用する外部キー
これまでのところ、私が持っていることはこれです:製品クラス :
public class Products
{
public long Id { get; set; }
public long Code { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateModified { get; set; }
public Boolean Reviewed { get; set; }
[ForeignKey("BundleId")]
public int BundleId { get; set; }
public virtual Bundles Bundle { get; set; }
}
とクラスは次のようになり欠陥:
public class Defects
{
public long Id { get; set; }
public String Description { get; set; }
public String Picture { get; set; }
public DateTime DateCreated { get; set; }
[ForeignKey("ProductId")]
public int ProductId { get; set; }
public Products Product { get; set; }
[ForeignKey("UserId")]
public int UserId { get; set; }
public virtual Users User { get; set; }
}
私は追加する必要はありませんでしたと思っ
ICollection
のDefects
からProducts
のクラスでは「シンプルな」1対多の関係であり、このコードはDefects
クラス(これ以上は必要ありません)のProductのIDを取得できるだけの十分なものであるためです。
しかし、もちろん私は例外を取得:
プロパティ「のProductIdは、」ナビゲーションプロパティとして設定することはできません。プロパティは有効なエンティティタイプでなければならず、プロパティには非抽象ゲッタとセッタが必要です
どうすれば問題を解決できますか? 私は2つの外部キーで間違っているかもしれませんが、私は外部キーの名前を宣言して以来、私はそれが十分であると仮定しました。
ご協力いただきありがとうございます。
データベースモデルにコレクションを追加する必要がある場合は、どうしたらよいですか?何がここの問題? – tym32167
私はする必要がありますか?私はそれがちょうど2つの異なる実装だと思った。 私は同じコードを保持し、コレクションを親モデルに追加する必要がありますか? –
plsを確認する必要があると思うが、docsを読んでくださいhttps://msdn.microsoft.com/en-us/library/jj713564(v=vs.113).aspx – tym32167