2016-05-25 10 views
2

ショッピングリストアプリケーションを作成しようとしていて、ショッピングリストエンティティとショッピングリストアイテムエンティティがあります。ショッピングリストには、IDキーと、関係のないいくつかの余分な変数が含まれている必要があります。ショッピングリストアイテムは、そのショッピングリストのIDに関連するIDキーおよび外部キーを有するべきである。これをどうやってやりますか?私はUpdateDatabaseExceptionを取得しています。あなたはクラスがちょうど頼むもう必要がある場合、またはこれを行うには良い方法がある場合、私はどのように外部キーを使用して別のテーブルのIDに関連付ける方法

ShoppingList

public class ShoppingList 
{ 
    [Key] 
    public int Id { get; set; } 
} 

ShoppingListItem

public class ShoppingListItem 
{ 
    [Key] 
    public int Id { get; set; } 

    [ForeignKey("ShoppingList")] 
    public int ShoppingListId { get; set; } 
{ 

学習いただければ幸いです。私はこのスレッドに私は私は完全に間違っていた

"The INSERT statement conflicted with the FOREIGN KEY constraint \"FK_dbo.ShoppingListItem_dbo.ShoppingList_ShoppingListId\". The conflict occurred in database \"ShoppingListApp\", table \"dbo.ShoppingList\", column 'Id'.\r\nThe statement has been terminated." 
+0

もう奇妙なエラーが発生しました。悪い更新スレッド – haseo256

答えて

0

私の理解が間違っている場合は教えてください。ショッピングリストテーブルは、id(その主キー)および他の列と、ショッピングリスト項目情報を表す列/列とを有する。

多くの関係を表現:

ShoppingList - > ShoppingListItem1、ShoppingListItem2、ShoppingListItem3等

ShoppingListItem1、ShoppingListItem2等点ShoppintListItemテーブルのエントリに。したがって

、そこからクラス構造は次のようになります。主キーおよび外部キーとしてそれらをマークする性質上annonationsを追加するための

public class ShoppingList 
{ 
    [Key] 
    public int Id { get; set; } 

    public int ShoppingListItemId { get; set; } 

    [ForeignKey("ShoppingListItemId")] 
    public ShoppingListItem ShoppingListItem { get; set; } 
} 

public class ShoppingListItem 
{ 
    [Key] 
    public int Id { get; set; } 
    //other properties 
} 

参考:また

http://www.entityframeworktutorial.net/code-first/foreignkey-dataannotations-attribute-in-code-first.aspx

あなたの場合をShoppingListItemテーブルにForeign Keyを設定し、ショッピングリストテーブルをポイントしたい場合は、直面している問題のコードと修正方法は次のとおりです。

public class ShoppingList 
{ 
    [Key] 
    public int Id { get; set; } 
    //Other Properties 
} 

public class ShoppingListItem 
{ 
    [Key] 
    public int Id { get; set; } 
    //other properties 

    public int ShoppingListId { get; set; } 

    [ForeignKey("ShoppingListId")] 
    public ShoppingList ShoppingList { get; set; } 
} 
+0

私は私が返信することができなかったので、私は働いて申し訳ありません。これには、ShoppingListのID – haseo256

+0

に基づいて作成されたときに、FKが自動的に生成されないという問題があります。あなたが気にしないことを願っています。 Gn。 – SunilA

0

を取得しています

新しい例外を膨らませたくありません。あなたのPOCOは問題ありません。エラーは、主キーテーブルに存在しない外部キー値を挿入しようとしていることです。

+0

idが1のショッピングリストを作成し、そのショッピングリストに新しいアイテムを作成すると、そのアイテムのFKも1になりますか? – haseo256

+0

さて、私はDatabaseUpdateExceptionを取得しています。このスレッドでスレッドを更新しています。 – haseo256

+0

プライマリキーテーブルに存在しない外部キー値を挿入しようとしています –

関連する問題