小编Axi*_*Kar的帖子

如何将Entity Framework用于具有许多客户端的应用程序

我创建了一个管理酒店,客房,预订和客户的应用程序.在第一个版本中,我使用纯MySQL命令与数据库进行通信并完美地工作,但实现起来非常困难,主要是当我需要更改属性的名称或数据库中的顺序以及复杂实体中的相对命令时,取得结果也很慢.所以我尝试使用Entity Framework实现它.从那时起,我遇到了太多问题,我试图绕过它.首先,我的应用程序由两个客户端使用,我需要同步数据.EF正在缓存数据以获得更快的结果,即使它们在数据库中发生了变化.据我所知,EF不检查数据是否是最新的,我找到的解决方案是:

  1. 重新加载或分离每个单独的实体 - 在拥有300个房间或2000个客户的情况下出现问题
  2. 处理和重新创建上下文 - 这是我试图做的但是它似乎很难实现,因为我的应用程序可以在同一时间有3个或4个窗口,然后我需要在每个Combobox中重新加载ItemSource,否则当我使用时它再次抛出例外情况,例如"上下文被处理"或"实体更改被许多跟踪器跟踪"或"外键未被暴露"等.此外,您将失去更改跟踪器.

另一个大问题是,当我暂时不使用我的应用程序然后访问试图通过延迟加载获取的实体的属性时,如果达到连接或命令超时,它可能会崩溃.也许它可以通过异常处理来解决,但我认为EF可以管理这些事情.

问题是我需要更改跟踪器来更新实体,我还使用MVVMlight和我在Internet上使用UnitOfWork找到的通用存储库. https://cpratt.co/truly-generic-repository/

我的应用程序是WPF 4.7.2

有什么建议吗?我应该使用其他一些框架与数据库进行通信吗?我应该使用其他类型的数据库吗?其他编程语言?

另一个

c# mysql wpf entity-framework entity-framework-6

5
推荐指数
1
解决办法
70
查看次数

标签 统计

c# ×1

entity-framework ×1

entity-framework-6 ×1

mysql ×1

wpf ×1