MVC 3 uygulamasında bir varlık sınıfı oluşturdum. RegistryId adında bir özellik, yabancı anahtarın yanı sıra birincil anahtardır. Yabancı anahtarın yanı sıra bir sütun birincil anahtarı nasıl yapabilirim? EF ORM tasarımcısı kullanmıyorum. Dersleri elle kodluyorum.Varlık Çerçevesinde Birincil/Yabancı Anahtar
31
A
cevap
55
"EF ORM tasarımcısı kullanmıyor" ile EF 4.1'den yeni DbContext
API'sini kastediyorum. Çünkü, DbContext
API'sini kastetmiyorsanız, yine de EDMX'i (tasarımcısı) kullanmak zorundasınız.
kullanabilirsiniz ya veri ek açıklamaları (System.ComponentModel.DataAnnotations
): KeyAttribute
ve ForeignKeyAttribute
:
public class Registry
{
public virtual int Id { get; set; }
public virtual MyEntity MyEntity { get; set; }
}
public class MyEntity
{
[Key, ForeignKey("Registry")]
public virtual int RegistryId { get; set; }
public virtual Registry Registry { get; set; }
}
Yoksa akıcı API (Türetilmiş bağlamda OnModelCreating
geçersiz kılma) kullanabilirsiniz:
(Edit: akıcı haritalama oldu MyEntity
senin varlık
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MyEntity>()
.HasKey(e => e.RegistryId);
modelBuilder.Entity<MyEntity>()
.Property(e => e.RegistryId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<MyEntity>()
.HasRequired(e => e.Registry)
.WithRequiredDependent(r => r.MyEntity);
}
olduğu yerlerde) ters ve eksik FK ve Registry
ile 1: 1 ilişkisinde ana varlıktır.
İlgili konular
- 1. Varlık çerçevesinde kaydetme
- 2. Varlık çerçevesinde dairesel bağımlılık
- 3. Varlık Çerçevesinde Excel'den veri alma Varlık Yönetimi
- 4. Varlık çerçevesinde yabancı anahtarlar 4.1
- 5. Varlık Çerçevesinde Gezinme Özellikleri nelerdir?
- 6. Varlık çerçevesinde kullanıcı tanımlı türlerin eşleştirilmesi
- 7. Varlık Çerçevesinde boolean için model özelliğini ayarlayın
- 8. Varlık çerçevesinde önerilen kimlik oluşturma yaklaşımı nedir?
- 9. Varlık Çerçevesinde Nesne Önbelleğe Almayı Kapatma CTP5
- 10. Nesne bağlamının varlık çerçevesinde atılması 4
- 11. Lambda varlık çerçevesinde dinamik nasıl sıralanır?
- 12. Varlık Framework - Yeniden Kompleks Tip I Kod İlk Varlık çerçevesinde bir Varlık var
- 13. Varlık Çerçevesinde aynı türden iki gezinme özelliğini nasıl kurabilirim?
- 14. CONTAINSTABLE işlevi Varlık Çerçevesinde nasıl eşlenir (ilk kod)?
- 15. Varlık Çerçevesinde SQL'de RANK() işlevine çeviren bir işlev var mı?
- 16. Başvurulan Nesne için Varlık Çerçevesinde bir sütunun adının belirtilmesi
- 17. Veritabanı şeması varlık çerçevesinde değiştiğinde en iyi uygulama hangisidir?
- 18. Varlık çerçeve kodu ilk boş anahtar
- 19. Birincil anahtar ihlali Varlık Çerçeve Kodu İlk
- 20. Yabancı anahtar eşleme nesnesinde varlık anahtarına eşleme
- 21. Varlık Çerçeve Doğrulaması
- 22. Sanal anahtar kelimenin Varlık Çerçevesi 5'deki varlık özelliklerine etkisi nedir?
- 23. TinyWeb çerçevesinde görünüm oluşturulamıyor
- 24. Sonucu vDSP çerçevesinde
- 25. Varlık Çerçeve Çekirdeği ile birincil anahtar değeri nasıl edinilir
- 26. Varlık Çerçevesi - Yabancı anahtar notu yanlış nesneyi görmezden geliniyor
- 27. Tek bir ilişki Varlık Çerçeve yabancı anahtar eşleme
- 28. JPA Çoktan Birçok bileşik anahtar ile tablo varlık
- 29. Windows Azure, Varlık Çerçevesi. Anahtar kelime desteklenmiyor: 'meta veri'.
- 30. Varlık Çerçevesinde bulduğunuz en can sıkıcı özellik (veya özellik eksikliği) nedir?
@Hi Ladislav: Ya birden fazla ilişki varsa? – DotnetSparrow
MyEntity'deki bire çok birincil anahtar ile yabancı anahtar olamaz. Diğer FK mülkü veya FK özelliği bulunmamalıdır. –
@Ladislav: [ForeignKEy ("")] 'i kullanmaya çalıştığımda, sütun adını sorar. Kayıt Defterine veya Tescil Kuruluşunun Kimliğine İhtiyacım Var mı? – DotnetSparrow