olduğunu.Varlık çerçeve navigasyon özelliği Ben 2 basit sınıfları
Ben bir virtual
o zaman diyecekler olun: The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
nasıl Settings
listesine erişebilirsiniz?
Diğer bir yöntem ise, çalışma ortamından Setting
veritabanından SettingCategory
özelliği doldurulursa doldurulur.
Bu benim ilk kod-göçler betik:
CreateTable(
"dbo.Settings",
c => new
{
SettingId = c.Guid(nullable: false, identity: true),
Name = c.String(nullable: false),
Value = c.String(),
SettingCategory_SettingCategoryId = c.Guid(nullable: false),
})
.PrimaryKey(t => t.SettingId)
.ForeignKey("dbo.SettingCategories", t => t.SettingCategory_SettingCategoryId, cascadeDelete: true)
.Index(t => t.SettingCategory_SettingCategoryId);
CreateTable(
"dbo.SettingCategories",
c => new
{
SettingCategoryId = c.Guid(nullable: false, identity: true),
Value = c.String(nullable: false),
})
.PrimaryKey(t => t.SettingCategoryId);
Ve bu veritabanından alır parçasıdır:
public SettingCategory Get(Guid settingCategoryId)
{
using (var context = new BackofficeContext())
{
return context
.SettingCategories
.FirstOrDefault(s => s.SettingCategoryId == settingCategoryId);
}
}
Cevap
Ben include unuttum .SettingCategories
, ancak bir lambda ile çalışıyordum:
public SettingCategory Get(Guid settingCategoryId)
{
using (var context = new BackofficeContext())
{
return context
.SettingCategories
.Include(s => s.Settings)
.FirstOrDefault(s => s.SettingCategoryId == settingCategoryId);
}
}
çalışmıyor
ancak bunu yapar:
public SettingCategory Get(Guid settingCategoryId)
{
using (var context = new BackofficeContext())
{
return context
.SettingCategories
.Include("Settings")
.FirstOrDefault(s => s.SettingCategoryId == settingCategoryId);
}
}
Bu garip. SettingCategory'i nasıl aldığınızı gösterir misiniz? – Anri
Veritabanınızdaki ilgili ayarların olduğundan emin misiniz? – Anri
İlk olarak geçişleri kodlarla kullanıyorum, bu yüzden her şeyi doğru yapmalı mı? İlk komutumu ekledim. – YesMan85