C# 再次使用多个IEntityChangeTracker接口实例

C# 再次使用多个IEntityChangeTracker接口实例,c#,mysql,winforms,entity-framework,C#,Mysql,Winforms,Entity Framework,我正在尝试尽可能部分地使用上下文,因为我希望我的软件能被多个用户使用,而我已经在上下文集成方面遇到了问题。。。所以我要做的是这样称呼上下文: entityManager = new EntityManager(); IEnumerable<customers_question_set> customersQuestionSets = entityManager.GetTradersCustomersQuestionSets(trader.id).ToArray<custom

我正在尝试尽可能部分地使用上下文,因为我希望我的软件能被多个用户使用,而我已经在上下文集成方面遇到了问题。。。所以我要做的是这样称呼上下文:

entityManager = new EntityManager();

IEnumerable<customers_question_set> customersQuestionSets = 
entityManager.GetTradersCustomersQuestionSets(trader.id).ToArray<customers_question_set>();

entityManager = null;

错误发生在GetMentor11().traders.AddObject(trader)-如果它是我甚至没有从任何地方获得的新成员,如何分离它?

因为有很多人对此有问题,而在互联网上,我找不到简单的(对我这样的初学者来说)解释。。。我将分享我如何解决我的问题

  • 毕竟,我已经使EntityManager成为静态的

  • 我发现了“StoreWins”刷新类型(它确保输出始终与服务器中的一样)

  • 因此,它看起来是这样的,并且运行良好:

    public static void SaveTrader(trader trader)
        {
            Mentor11Entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, Mentor11Entities.traders);
            GetMentor11().AddTotraders(trader);
            GetMentor11().SaveChanges();
            GetMentor11().AcceptAllChanges();
            Mentor11Entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, Mentor11Entities.traders);
        }
    
    public static void SaveTrader(trader trader)
        {
            Mentor11Entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, Mentor11Entities.traders);
            GetMentor11().AddTotraders(trader);
            GetMentor11().SaveChanges();
            GetMentor11().AcceptAllChanges();
            Mentor11Entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, Mentor11Entities.traders);
        }