2009-07-08 19 views
8

Entity Framework kullanarak bir SQL Server tablosuna kayıt eklemek istiyorum. Masamın öğesinin yabancı anahtarları var ve bu alanlar için gezinme özellikleri var. Yeni bir kayıt/varlık eklerken, yabancı anahtar alanlarını varlığın özellikleri olarak görünmediklerinden nasıl doldururum?Entity Framework-Gezinme Özellikleriyle Girişlere Nasıl Eklenir?

yani

Product p = new Product{ 
    ID = 5, 
    Name = "Bovril", 
    Category = ctx.Categories.First(c => c.ID == 5) 
}; 
ctx.AddToProducts(p); 
ctx.SaveChanges(); 

size en kolay yaklaşım veritabanı sorgu önlemek istiyorsanız bir kullanmak muhtemelen:

cevap

15

kolay yolu navigasyon özelliklerini ilgili varlıklar için bir sorgu yapmak ve kullanmak konuyla ilgili bu blog post kontrol bu saplama tekniğe fazla yardım istiyorsanız

// this is a stub, a placeholder for the real entity 
Category c = new Category {ID = 5}; 
// attach the stub to the context, similar to do a query 
// but without talking to the DB 
ctx.AttachTo("Categories", c); 
Product p = new Product{ 
    ID = 5, 
    Name = "Bovril", 
    Category = c 
}; 
ctx.AddToProducts(p); 
ctx.SaveChanges(); 

yani sTUB varlık.

+0

Önerilen yanıtları denedim ve ikisi de harika çalıştı. Yardımın için çok teşekkürler! –

İlgili konular