bir navigasyon özelliği (yaa!) Bir varlıktan bir "bağlı" varlığa gezinmenizi sağlar.
E.g. Kullanıcınız bir role bağlıysa, kullanıcıyla ilişkili rolü okumak ve incelemek için "Rol" gezinmesini kullanabilirsiniz.
DÜZENLEME:
Eğer LINQ varlıkları ile kullanıcı yüklemek ve aynı zamanda onun "Rol" navigasyon tesiste, sen var bak açıkça LINQ sorgusunda "Rol" varlığını dahil etmek istiyorsanız - EF, bu navigasyon özelliklerini sizin için otomatik olarak yüklemez.
// load user no. 4 from database
User myUser = from u in Users.Include("Role")
where u.ID = 4
select u;
// look at the role the user has
string roleName = myUser.Role.Name;
VEYA:
// load user no. 4 from database
User myUser = from u in Users
where u.ID = 4
select u;
// check to see if RoleReference is loaded, and if not, load it
if(!myUser.RoleReference.IsLoaded)
{
myUser.RoleReference.Load();
// now, the myUser.Role navigation property should be loaded and available
}
// look at the role the user has
string roleName = myUser.Role.Name;
Temelde bir veritabanında bir yabancı anahtar ilişkisi için programlı bir eşdeğer var - iki nesne arasında bir bağlantı. Temelde iki tablo (veya EF konuşmasında iki varlık) arasındaki bir birleşmeyi "gizler" veya birleştirir.
Marc
Ah Ben bazı alanları ekleyerek sorun yaşıyorum. Ben bir tablo var gibi Tablo A 2 alan (Alan 1 ve Saha 2) sahiptir (TABLEA arama sağlar). Benim aspnet_userTable tüm standart asp.net üyelik alanları artı alan 1 ve alan 2. var ve aspnet_userTable için yeni bir kullanıcı eklemeye çalıştığınızda alan1 veya alan2 görmüyorum. Bu yüzden ilk önce aspnet_Users.Createaspnet_Users() 'ı bir aspnet_Users tablosunda saklayın (kullanıcıya bildirin). Ardından user.Field1 = "bir şey" denedim. sonra user.Field2 denedim (özellik bulunamadı). Gördüğüm kadarıyla bu var –
chobo2
user.TableA.Field1 ve user.TableA.Field2 ama ben ayarlamaya çalıştığımda sadece bazı null başvuru hatası alıyorum. Neyi yanlış yapıyorum? – chobo2
Peki, dernekleriniz yanlıştır - sisteminize "TableA" adlı yeni bir tablo eklerseniz ve "aspnet_user" ile bir yabancı anahtar ilişkisi oluşturursanız, "TableA" nesnesinin "navigation_User" ile bir ilişkisi (navigation özelliği) olacaktır. "- diğer yoldan değil. Yani "TableA" varlığınızda, bir "aspnet_User" gezinme özelliği olmalıdır. –