2016-09-14 10 views
0

このエラーが発生しました。私はこのエラーをtitleと言っています。私はGoogleを検索して答えを見つけることができません。それは大丈夫です、そして、私が追加するためにefを使用するとき、それはwork.looksを下に見ることができません、それは私のデータベーススキーマです。結果としてEF:ReferentialConstraintの依存プロパティーがストア生成列にマップされています。

using ppdai.user.vip.model; 
using System; 
using System.ComponentModel.DataAnnotations.Schema; 
using System.Data.Entity.ModelConfiguration; 
using System.Data.Entity.ModelConfiguration.Configuration; 

namespace ppdai.user.vip.model.mapping 
{ 
public class GoodsMapping: EntityTypeConfiguration<Goods> 
{ 
    public GoodsMapping() 
    { 
     this.Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); 
     this.HasKey(x => x.Id); 


     this.Property(x => x.GoodsQuantity).IsRequired(); 
     this.Property(x => x.GoodPrice).IsRequired(); 
     this.Property(x => x.GoodScore).IsRequired(); 
     this.Property(x => x.GoodTypeId).IsRequired(); 

     this.HasRequired(x => x.GoodType) 
      .WithMany(x => x.Goods) 
      .HasForeignKey(x => x.GoodTypeId); 


    } 

} 
} 

、良いは「中央」テーブルの位置を次のとおりです。私は良いテーブルに何かを追加しようとすると、エラーが良いの流暢APIをoccured.the enter image description here

は次のようにいるようです私のデータベースでは、誰もそれを解決する方法を知っていますか?

+0

あなたはforegin keyを '.HasForeignKey(x => x.GoodTypeId);によって定義しました。 –

+0

@AliSoltani私は外来キーを盗んでもまだ動作しないので、 – MapleStory

答えて

1

外部キー列の1つがDatabase Generatedに設定されているようです。 GoodsGoodTypeIdが自動インクリメントIDとして設定されていないことを確認します。 GoodIdOrderItemsGoodIdHomePageProductsにチェックしてください。

+0

いいえ、すべてのforeginの鍵はアイデンティティではなく、foreginの鍵とは関係ありません。なぜなら私は商品テーブルのforegin鍵を取り消し、それでも同じ例外をトリガーします。 ID属性を持たないIDを設定すると、「identity_insertがオフのため、挿入できません」 – MapleStory

+0

報告したエラーはプライマリキーに関連していないため、外部キーに関連しています。また、主キーをDatabaseGeneratedに明示的に設定する必要はありません。通常、キーは自動的にDatabaseGeneratedに設定されます。商品テーブルのものだけでなく、他の外部キーもチェックしてください。 – sachin

+0

foreginキーがdatebaseによって設定されていないGenerated、SQLを挿入するときにSQLを使用すると慎重にチェックされますが、それはうまくいかないのですか? – MapleStory

関連する問題