1
私は既にデータベースにデータが入っているテーブルを持っています。 私は最初にコードを使用しています。今度はカテゴリテーブルをデータベースに追加し、それを使用して、他のテーブルの一部を外部キーを介してそのテーブルを参照するように変更するように求められました。 私は以前の経験から、モデルを変更した後にデータベースを更新すると、FKは0を持つことができないので盛り上がります。Seedメソッドを使用して、データベースとして外部キーを実際に更新します。更新されます。EntityFrameworkは、新しい外部キーを使用して既存のレコードを更新します
私はこのような何かをしたい:
protected override void Seed(DatabaseContext context)
{
// Create our categories
context.Categories.AddOrUpdate(m => m.Id,
new Category { Id = 1, Name = "Cameras" },
new Category { Id = 2, Name = "Televisions" }
);
// Get all our current feeds
var feeds = context.Feeds.ToList();
context.Feeds.AddOrUpdate(m => m.Id, feeds.Select(m => m.CategoryId = 1).ToArray());
}
誰かが私は実際にこれを行う方法を知っていることはできますか?または、それを行う別の方法がある場合は?ループ内
context.Feeds.ForEach(F => f.CategoryId = 1)。 –
@SteveGreene、 'Foreach'は' List 'のメソッドです。\t ' context.Feeds.ToList()。ForEach(f => f.CategoryId = 1); ' –
octavioccl
あなたはヌルFKを持つことができますあなたが実際にすべてのカテゴリIDを必要としない場合は、同様に。 Nullは、テーブルのデザインで許可した場合、FKに対して有効です。 –