相关疑难解决方法(0)

实体框架 - 基础数据(在数据库中)更改通知

到目前为止,我正在使用Entity Framework来成功操作数据库中的数据.

但是,我希望有多个应用程序同时播放数据(并发版).

有没有办法在数据库中的数据发生变化时收到通知?

我看到了使用DML触发器的解决方案,但我想知道是否有其他方法可以实现这一点,如果是,那么使用什么是最佳解决方案.

问候,

尼克

编辑

也许我的问题不够明确,我会试着用一个例子来说明.

  • 应用程序#1在数据库#1上使用实体框架
  • 应用程序#2也在数据库#1上使用实体框架
  • 应用程序#1更改实体模型,该实体模型由数据库#1的基础表中的更改反映
  • 我希望Application#2收到有关此更改的通知,以便它可以具有一致/ up2date数据.

notifications entity-framework c#-4.0

16
推荐指数
1
解决办法
1万
查看次数

实体框架数据在具有中央数据库的多用户环境中更新

让我解释一下这个标题.

我在应用程序(TestApp)中使用Entity Framework Code First .出于调试目的,TestApp连接到SQLExpress数据库(中央数据库服务器).

为了简单起见这里,该数据库包含一个表的"产品"和TestApp显示在数据网格数据库中的所有"产品"和TestApp可以添加/删除"产品"或修改的产品名称.

public class Product {
 public int ProductId { get; set; }
 public string ProductName { get; set; }
}

public DbSet<Product> Products { get; set; }
Run Code Online (Sandbox Code Playgroud)

我有3台PC安装并运行TestApp(我称之为Client_X).如果我通过Client_1添加新的"产品",则不会在Client_2和Client_3上的TestApp中直接显示.仅当Client_2和Client_3再次获取所有数据(手动刷新)时,才会看到新添加的记录.

我想知道的是:如何通过EF Code First了解数据库中的更改?Client_2和Client_3如何自动更新其数据网格,因为添加或删除了新项目?

我不确定它是否被要求太多,但是一个简单的示例项目或简单的代码来证明这将是有用的.

仅供参考:我是EF Code First的新手.(我使用的是.NET 4.0和EF Code First 4.3.1)

提前致谢.

方案:

Client_3<
         \
          \
           \
            \
             \>
Client_1 <---> [Central Database] <----> Client_2
Run Code Online (Sandbox Code Playgroud)

更新/编辑:

好的,很明显,实体框架本身不会在多个客户端之间进行任何同步.

所以我会问另一个问题: 我正在考虑使用Client-Server方式:

  • 单个服务器应用程序,它首先创建数据库并使用实体框架代码.
  • 与该单个服务器应用程序通信的多个客户端.

    现在什么是确保客户使用相同数据并查看每个人更新/更改的最佳方法?(我希望代码示例.)

c# entity-framework multi-user

8
推荐指数
1
解决办法
5765
查看次数

实体框架数据上下文与数据库不同步?

所以,情况如下 -

  • 我在数据库中插入一个调用AddtoObject()的项目,然后调用SaveChanges().
  • 然后,我调用存储过程来更新当前插入的记录.
  • 然后,我再次调用Save changes().
  • 我查询它时的数据库具有正确的更新值,但实体框架上下文没有更新的值...第一次..每当我刷新页面时它获取值..但第一次它永远不会得到更新值.

那么任何人都可以随时遇到类似问题吗?我在这做错了什么?

datacontext sync entity-framework-4

0
推荐指数
1
解决办法
5473
查看次数