C# 从实体中的上下文分离对象

C# 从实体中的上下文分离对象,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我目前正在使用实体框架,遇到了以下问题: 无法定义这两个对象之间的关系,因为它们附加到不同的ObjectContext对象 对于页面加载序列,我通过以下方式填写dropdownlists: using (DatabaseEntities db = new DatabaseEntities()) { MyDictionary = new Dictionary<Guid, Person>(); var List= from

我目前正在使用实体框架,遇到了以下问题:

无法定义这两个对象之间的关系,因为它们附加到不同的
ObjectContext
对象

对于页面加载序列,我通过以下方式填写
dropdownlists

using (DatabaseEntities db = new DatabaseEntities())
        {
            MyDictionary = new Dictionary<Guid, Person>();
            var List= from emp in db.Set select emp;
            ...

            foreach (Employee emp in List)
            {
                MyDictionary.Add(emp.id, emp);
我正在此处以会话状态存储字典

public Dictionary<Guid,Person> MyDictionary
    {
        get
        {
            return Session["MyDictionary"] as Dictionary<Guid,Person>;
        }
        set
        {
            Session["MyDictionary"] = value;
        }
    }

MyDictionary.Add(emp.id, emp);

但它不起作用

不用在会话中存储整个实体,只需使用ID并在下一页检索它即可。拥抱网络的无状态有助于你保持理智


如果必须存储整个实体,请保留分离,但在启动新操作时,请记住将其附加到新的ObjectContext。

我没有分离此实体要添加到的其他实体,因此我得到了冲突的上下文
db.Detach(emp) 
MyDictionary.Add(emp.id, emp);