0

私はエンティティフレームワークを使用しています。

オブジェクトを MS_library キャッシュ マネージャーに保存します。

ただし、問題が発生しました。キャッシュからこのオブジェクトを取得すると

その ContextObj は既に破棄されています。

各エンティティをモデル オブジェクトにマッピングせずにこれを修正するにはどうすればよいですか?

public partial class MaMDBEntities : DbContext
{
    public MaMDBEntities()
        : base("name=MaMDBEntities")
    {

        ObjectContext.
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public DbSet<App> Apps { get; set; }
    public DbSet<AppsData> AppsDatas { get; set; }
    public DbSet<Browser> Browsers { get; set; }
    public DbSet<BrowserVersion> BrowserVersions { get; set; }
    public DbSet<BrowserVerToCriteria> BrowserVerToCriterias { get; set; }
    public DbSet<CommonConfig> CommonConfigs { get; set; }
    public DbSet<Country> Countries { get; set; }
    public DbSet<Criterion> Criteria { get; set; }
    public DbSet<CTID> CTIDS { get; set; }
    public DbSet<DatabaseLastUpdate> DatabaseLastUpdates { get; set; }
    public DbSet<Group> Groups { get; set; }
    public DbSet<MamConfiguration> MamConfigurations { get; set; }
    public DbSet<MamConfigurationCTID> MamConfigurationCTIDs { get; set; }
    public DbSet<MamConfigurationStatus> MamConfigurationStatuses { get; set; }
    public DbSet<Pair> Pairs { get; set; }
    public DbSet<SettingsServicesConfig> SettingsServicesConfigs { get; set; }
    public DbSet<sysdiagram> sysdiagrams { get; set; }
    public DbSet<CtidPgPastExistence> CtidPgPastExistences { get; set; }

    public virtual ObjectResult<usp_AppsData_GetAll_Result> usp_AppsData_GetAll()
    {
        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<usp_AppsData_GetAll_Result>("usp_AppsData_GetAll");
    }
}
4

1 に答える 1

0

include() でアクセスしようとするナビゲーション プロパティを読み込むか、オブジェクト コンテキスト プロパティで ProxyObjectCreation をオフにします。

Context.SomeCollection.Include("NavigationalProperty")

また

Context.Configuration.ProxyCreationEnabled = false;

プロキシの作成をオフにする場合は、遅延読み込みを使用しているすべてのクエリを再テストする必要があります。これは、ソリューションにサイレント バグが導入されるためです。

于 2013-02-05T08:43:30.907 に答える